第九节:SQLServer函数大全(二)--类型转换函数、日期函数
一. 类型转换函数
在处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换。对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士转换就无法实现了,此时必须使用显示转换。为了实现这种显示转换,T-SQL提供了两个显示转换函数,分别是CAST和CONVERT函数。
CAST(x AS type) 和 CONVERT(type,x) 函数将一个类型的值转换为另一个类型的值。
select CAST('121231' AS DATE), CAST(100 AS CHAR(3)),CAST('2012-05-01 12:11:10' AS CHAR(3)), select CONVERT(DATE,'2012-05-01 12:11:10'),CONVERT(CHAR(3),100 ),CONVERT(DATE,'2012-05-01 12:11:10')
二. 日期函数
1. 获取系统当前日期的函数(普通时间和UTC时间)
select GETDATE() as CurrentTime,GETUTCDATE() as UTCTIme
2. 返回指定日期的d是一个月中的第几天、月份、年数
select DAY('2020-08-05 12:11:08') select MONTH('2020-08-05 12:11:08') select YEAR('2020-08-05 12:11:08')
3. 返回指定日期的 年、月、第n天、天、第n周、星期几、小时、分钟、秒
SELECT DATENAME(year,'2020-04-03 08:12:36') AS yearValue, DATENAME(month,'2020-04-03 08:12:36') AS monthValue, DATENAME(dayofyear,'2020-04-03 08:12:36') AS dayofyearValue, --一年当中的第几天 DATENAME(day,'2020-04-03 08:12:36') AS dayValue, DATENAME(week,'2020-04-03 08:12:36') AS weekValue, DATENAME(weekday,'2020-04-03 08:12:36') AS weekdayValue, DATENAME(hour,'2020-04-03 08:12:36') AS hourValue, DATENAME(minute,'2020-04-03 08:12:36') AS minuteValue, DATENAME(second,'2020-04-03 08:12:36') AS secondValue
4. 获取日期中指定部分的整数值的函数
SELECT DATEPART(year,'2020-04-03 08:12:36') AS yearValue, DATEPART(month,'2020-04-03 08:12:36') AS monthValue, DATEPART(dayofyear,'2020-04-03 08:12:36') AS dayofyearValue;
5. 日期的加运算
DATEADD(dp,num,d)函数用于执行日期的加运算,返回指定日期值加上一个时间段后的新日期。dp指定日期中进行加法运算的部分值,例如:year,month,day,hour,minute,second,millsecond等,num指定与dp相加的值,如果该值为非整数值,将舍弃该值的小数部分,d为执行加法运算的日期。
SELECT DATEADD(year,1,'2020-04-03 08:12:36') AS yearAdd, DATEADD(month ,2, '2020-04-03 08:12:36') AS weekdayAdd, DATEADD(hour,3,'2020-04-03 08:12:36') AS hourAdd;
!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。