日期部分 | 缩写 |
year | yy, yyyy |
quarter | qq, q |
month | mm, m |
dayofyear | dy, y |
day | dd, d |
week | wk, ww |
weekday | dw |
Hour | hh |
minute | mi, n |
second | ss, s |
millisecond | ms |
--查询当天:
select * from info where DateDiff(dd,datetime,getdate())=0
--查询 24 小时内的 :
select * from info where DateDiff(hh,datetime,getDate())<=24
--本月记录
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
--本周记录
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2 天
select dateadd(day,2,'2004-10-15') --返回: 2004-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回: 17
4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回 10
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
6. day(), month(),year() --可以与 datepart 对照一下
select 当前日期 =convert(varchar(10),getdate(),120)
,当前时间 =convert(varchar(8),getdate(),114)
select datename(dw,'2004-10-15')
select 本年第多少周 =datename(week,'2004-10-15')
,今天是周几 =datename(weekday,'2004-10-15')
select * from t_form where datediff(week,c_date,getdate())=0
select * from t_form where datediff(Month,C_date,getdate())=0
select * from t_form where year(c_date)=year(getdate())