所用SQL函数:
1.DateAdd:在向指定日期加上一段时间的基础上,返回新的datetime 值。
DATEADD ( datepart ,number, date )参数
datepart
是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分 | 缩写 |
---|---|
Year | yy, yyyy |
quarter | qq, q |
Month | mm, m |
dayofyear | dy, y |
Day | dd, d |
Week | wk, ww |
Hour | hh |
minute | mi, n |
second | ss, s |
millisecond | ms |
number
是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为datepart 指定 day,为 number 指定 1.75,则date 将增加 1。
date
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
返回类型
返回 datetime,但如果 date 参数是 smalldatetime,返回smalldatetime。
2.CAST
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使用 CAST:
where dateadd(day,cast(tbl_remind.I_Days asint),getdate())>=(substring(convert(varchar(10),getdate(),120),1,4)+substring(convert(varchar(10),tbl_staff.D_Birthday,120),5,6))
and convert(varchar(10),getdate(),120)<=(substring(convert(varchar(10),getdate(),120),1,4)+substring(convert(varchar(10),tbl_staff.D_Birthday,120),5,6))
and tbl_remind.v_type = '员工生日' andtbl_staff.D_Birthday!='1900-01-01 00:00:00.000'