SQL Server DATEDIFF() 函数和IFF函数

2017年11月中旬开始接触sqlserver数据库
遇见几个函数也通过百度语法学习整理如下:
DATEDIFF() 函数:返回两个时间之间的差

DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:

datepart	缩写
年	       yy, yyyy
季度	        qq, q
月	        mm, m
年中的日	dy, y
日	        dd, d
周       	wk, ww
星期		dw, w
小时		hh
分钟		mi, n
秒	        ss, s
毫秒		ms
微妙		mcs
纳秒		ns
示例:
SELECT DATEDIFF(day,'2017-10-29','2017-11-28') AS DiffDate


 
  
IIF函数:
语法:IIF(布尔表达式,result_a,result_b) 如果布尔表达式成立则返回result_a,如果不成立返回result_b

SELECT  id,iif(id=1,null,'0') as iif_result,
nullif(id,1) nullif_result,
case when id=1 then null else 0 end case_result
from (select 1 id   
union all
select '' )a

同时发现select '' 的话返回0,
可想而知以下表达式1返回1,表达式2没有任何意义为null
 
  

 select 1-''
 select 1-null  
 
 

你可能感兴趣的:(SqlServer)