sqlserver系統函數

1. nullif() 
    兩個特定的參數的值如果是相同的,則返回null,否則返回第一個值:
  select nullif('a','b')  = 'a'
  select nullif('a','a')  = null

2. NEWID()  生成GUID

   SELECT NEWID() =  '84249A2B-2A1D-4C89-BC92-2E8A028D5BB3'

3.COALESCE()函數


   coalesce返回它的參數中第一個非空表達式
  select coalesce(null,null,9,8,1,6,7)=9
   使用三行代碼殺掉數據庫中的所有事務語句如下:
 DECLARE @SQL VARCHAR(8000)
SELECT @SQL=COALESCE(@SQL,'')+'Kill '+CAST(spid AS VARCHAR(10))+ '; '
FROM sys.sysprocesses
WHERE DBID=DB_ID('AdventureWorks')
PRINT @SQL --EXEC(@SQL) Replace the print statement with exec to execute
4.rollup 子句
   對列表的第一列進行小計和總計計算的最簡單方法,在假想例子中,除計算每個唯一的列值的總和以外,還需計算ID1列中的A和B行的總和

SELECT name,sex,sum(old) FROM test
GROUP BY name,sex
WITH rollup

fanfenghua man67
fanfenghua NULL67
lanyuzhen man 10
lanyuzhen woman23
lanyuzhen NULL33
NULL NULL 100
 
5. 錯誤函數
         begin try
select 5/0
 end try
 
 begin catch
 print error_message()
 end catch    --(0 行受影響) 遇到以零作除數錯誤。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章