SqlServer函数的类型转换函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer函数的类型转换函数相关的知识,希望对你有一定的参考价值。
参考技术Aconvert (数据类型[(长度)],表达式[,样式])
将一种数据类型的表达式显式转换为另一种数据类型的表达式;
长度:如果数据类型允许设置长度,可以设置长度,例如 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函数的类型转换函数的主要内容,如果未能解决你的问题,请参考以下文章