Som*_*Som -2 sql t-sql sql-server query-designer
在tsql的where子句中,YEAR DAY MONTH的顺序应该是多少?
Select * from TABLE_NAME
WHERE
YEAR(COLUMN_NAME)=YEAR(GETDATE()) --1
and DAY(COLUMN_NAME)=DAY(GETDATE()) --2
and MONTH(COLUMN_NAME)=MONTH(GETDATE()) --3
Run Code Online (Sandbox Code Playgroud)
订单是否会改善查询的运行时间?tsql如何执行此语句?
如果你想提高性能,那么你做错了.您正在使用的过滤器将不使用索引(如果存在索引COLUMN_NAME),因为您正在向它们应用函数.正确的方法是直接比较该列GETDATE()(在这种情况下).这是一种更好的方法:
SELECT *
FROM TABLE_NAME
WHERE COLUMN_NAME >= DATEADD(DAY,DATEDIFF(DAY,0,GETDATE()),0)
AND COLUMN_NAME < DATEADD(DAY,DATEDIFF(DAY,0,GETDATE()),1)
Run Code Online (Sandbox Code Playgroud)