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_NULL为ON时,串联空值与字符串将产生NULL结果。例如,SELECT’abc’+NULL将生产NULL。当SET CONCAT_NULL_YIELDS_NULL为OFF时,串联空值与字符串将产生字符串本身(空值作为空字符串处理)。例如 SELECT’abc’+NULL将生成abc。

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

SD022