SqlServer函数的类型转换函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer函数的类型转换函数相关的知识,希望对你有一定的参考价值。

参考技术A

convert (数据类型[(长度)],表达式[,样式])
将一种数据类型的表达式显式转换为另一种数据类型的表达式;
长度:如果数据类型允许设置长度,可以设置长度,例如 varchar(10);
样式:用于将日期类型数据转换为字符数据类型的日期格式的样式。
详细可以参照安安DIY创作室的一篇文章:《sqlserver datetime转换成带格式的字符串》
cast (表达式 AS 数据类型[(长度)])
将一种数据类型的表达式显式转换为另一种数据类型的表达式。
例如:select cast(123 as nvarchar) 返回123
select N'年龄:' + cast(23 as nvarchar) 返回 年龄:23

第九节: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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 

以上是关于SqlServer函数的类型转换函数的主要内容,如果未能解决你的问题,请参考以下文章

sqlServer日期函数转换成短日期

sqlserver中如何把数字转换成时间的格式?

SQLServer 日期函数及日期转换数据类型

TSQL 数据类型转换

SQL Server系统函数:类型转换函数

SQLserver时间格式