SQL server --时间日期函数类型转换

Posted

tags:

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

一、时间日期函数

1、

SET DATEFIRST 1 --设置星期一为第一天
--datepart函数,返回时间日期中的某一个部分
--参数1是指返回哪一个部分,dw表示dayofweek
--参数2是指哪个时间日期里面去返回
--datefirst是系统常量,在使用时需要加上@@
SELECT @@DATEFIRST AS ‘1st Day‘, DATEPART(dw, GETDATE()) AS ‘Today‘
--getdate指在执行时获取当前系统时间
SELECT GETDATE()--在执行时取当前系统时间


2、

--dateadd 对某一个部分添加或者减去多少时间
--参数1 是对哪一个部分进行添加或减少
--参数3 是在哪一个时间日期上进行增加或减少
--参数2 是增加或减去多少
select DATEADD(YEAR,-2,‘2015-11-20‘)
select DATEADD(MONTH,3,‘2015-11-20‘)
select DATEADD(DAY,5,‘2015-11-20‘)

 

3、

--datediff 算时间差 different 不同的,相差的
--参数1 是指对哪一个部分进行算法
--参数2 是开始的时间日期
--参数3 是结束的日期
select DATEDIFF(YEAR,‘2011-1-2‘,‘2015-2-2‘) --年份相差
select DATEDIFF(MONTH,‘2011-1-2‘,‘2015-2-2‘)--月份相差(算上中间所有月份)
select DATEDIFF(DAY,‘2011-1-2‘,‘2015-2-2‘)--日相差(算上中间所有日)

 

4、计算恋爱的天数
declare @startday varchar(50) --声明变量时需要添加数据类型,变量名前加@
set @startday = ‘2008-8-8‘ --设置变量的值
--getdate是获取当前系统时间
select DATEDIFF(DAY,@startday,GETDATE()) as 恋爱天数

 

5、

--datepart 返回时间日期的某一个部分
--参数1是返回的哪一个部分
--参数2是以哪个日期作为被计算的日期
select DATEPART(YEAR,‘2008-8-8‘)--返回年
select DATEPART(DY,‘2008-8-8‘)--返回dayofyear 这一年的第几天
select DATEPART(QQ,‘2008-8-8‘)--返回季度 共四个季度

--day month year 相当于上面的datepart
--返回天,月,年
select DAY(‘2008-8-8‘)
select year(‘2008-8-8‘)
select month(‘2008-8-8‘)

 

6、

--isdate 判断时间日期格式是否是正确
--返回值为1表示正确
--返回值为0表示错误
select ISDATE(‘2012-2-29‘)
select ISDATE(‘2008-80-8‘)

--sysdatetime 系统精确时间
select SYSDATETIME()
SELECT GETDATE()-- 区别是精确与否

 

 

二、类型转换函数

--数据类型转换 cast convert
--cast 先写被转换的value + as + 被转换成的类型
select CAST(1.73 as int)
select CAST(1.73 as varchar(50))
select CAST(1.73333333 as decimal(18,2))
select cast(CAST(‘1.78‘ as decimal(18,2)) as int)
select CAST(‘1.78‘ as decimal(18,2))
--convert 参数1是需要转换成为的类型,参数2是需要被转换的value
select CONVERT(int , ‘87‘)
select CONVERT(decimal(18,2) , ‘87.8787‘)--在精确后面位数的时候会自动四舍五入
select CONVERT(varchar(50) , 342523.234)

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

ms sql2012 能否安装在win2008 server

Sql server2008! SQL server服务无法启动,并显示错误17113, 修复Sql server2008失败!

sql server 的考证问题

求sql server帮助文档

已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具

server 2008 r2能安装sql server 2016吗?