第九节: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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
posted @ 2020-04-06 19:26  Yaopengfei  阅读(1284)  评论(1编辑  收藏  举报