SQL中常用的的时间跟日期函数

GETDATE函数:

用途:前系统日期、时间

举例:select getdate()

Dateadd函数:

用途:在向指定日期加上一段时间的基础上,返回新的 datetime值:

举例:向日期加上2天,select dateadd(day,2,'2011-01-15') --返回:2011-01-17 00:00:00.000

 

Datediff函数:

用途:返回跨两个指定日期的日期和时间边界数:

举例:select datediff(day,'2008-08-01','2008-08-18') --返回:17

 

Datename函数:

用途: 返回代表指定日期的指定日期部分的字符串:

举例: select datename(weekday, '2011-01-27') --返回:星期四

 

Datepart函数:

用途: 返回代表指定日期的指定日期部分的整数:

举例: select datepart(month, '2011-01-15') --返回 1

 

6.day(),month,year()—这个可以跟datepart对照一下

 

select当前日期=convert(varchar(10),getdate(),120),

当前时间=convert(varchar(8),getdate(),114)

 

 

select datename(dw,2011-01-27)

 

select本年第多少周=datename(week,2011-01-27),

今天是周几=datename(weekday,2011-01-27)

*注释:

这里整理了一些SQLserver里面可能经常会用到的日期格式转换方法:

1.Select convert(varchar, getdate(), 120 )

2011-01-27 18:22:22

2.Select convert(varchar(12) , getdate(), 111 )

2011/01/27

3.select convert(varchar(12) , getdate(), 112 )

20110127

4.select convert(varchar(12) , getdate(), 102 )

2011.01.27

5.select convert(varchar(12) , getdate(), 101 )

27/01/2011

6.select convert(varchar(12) , getdate(), 103 )

01/27/2011

7.select convert(varchar(12) , getdate(), 104 )

01.27.2011

8.select convert(varchar(12) , getdate(), 105 )

01-27-2011

9.select convert(varchar(12) , getdate(), 106 )

01 27 2011

10.select convert(varchar(12) , getdate(), 107 )

27 01, 2011

11.select convert(varchar(12) , getdate(), 108 )

18:22:22

以上这些都是一些常用的日期格式转换。

 

在日常的工作中,我们常常会遇到这样一些问题:当空值“NULL”与非空值相加后,得到的确实空值,而不是我们想要的答案。

例如:1

 

last_name

first_name

a

null

 

根据上表,如果select last_name+first_name from table1

那么我们得到的值一定是一个NULL值,而不是我们想要的“a”。

2

 

 

last_name

first_name

a

 

 

 

而这个表中,如果 select last_name+first_name from table1

当表没有值的时候就可以得到我们想要的结果“a

 

综上所述:

Null+Null=Null

Null+””=Null

 

SQLserver中,如果直接使一个空值与字符串相加,即NULL+‘’的结果也会是NULL值,有两种方法使产生的结果为字符串:

使用:字段名=isnull(字段值,’’)+insull(串联的字符串,’’)

设置 CONCAT_NULL_YIELDS_NULL

SET CONCAT_NULL_YIELDS_NULLON时,串联空值与字符串将产生NULL结果。例如,SELECTabc+NULL将生产NULL。当SET CONCAT_NULL_YIELDS_NULLOFF时,串联空值与字符串将产生字符串本身(空值作为空字符串处理)。例如 SELECTabc+NULL将生成abc

将字符串字段的缺省值设为“”

 

SD022

原文地址:https://www.cnblogs.com/liuzhuqing/p/7480589.html