SQL Server中的函數(字元串函數,日期函數,數學函數,系統函數)
字元串函數(用于控制傳回給使用者的字元串)
1.charindex 尋找一個指定的字元串在另一個字元串中的起始位置 select charindex ('JBNS','my Jbns course',1)傳回:4
2.len 傳回傳遞給它的字元串長度 selectlen("sql server課程")傳回:12
3.upper 把傳遞給它的字元串轉換為大些 selectupper('sql server課程')傳回:SQL SERVER課程
4.Ltrim 清除字元左邊的空格 selectltrim(' 周智宇 ')傳回:周智宇 (後面的空格保留)
5.Rtrim 清除字元右邊的空格 selectRtrim(' 周智宇 ')傳回: 周智宇(前面的空格保留)
6.Right 從字元串右邊傳回指定數目的字元 selectRight('買賣提,吐爾松',3)傳回:吐爾松
7.replace 替換一個字元串中的字元 selectReplace('莫樂可切,楊可',‘可’,‘蘭’) 傳回:莫樂蘭切.楊蘭
8.stuff 在一個字元串中,删除指定長度的字元,并在該位置插入一個新的字元串 selectstuff('ABCDEFG',2,3,'我的音樂我的世界') 傳回:A我的音樂我的世界EFG
日期函數(用于操作日期值)
1.getdate 取得目前的系統日期 select getdate()傳回:今天的日期
2.dateadd 将指定的數值添加到指定的日期部分後的日期 select dateadd(mm,4,'01/01/2009')傳回:以目前的日期格式傳回05/01/2009
3.datediff 兩個日期之間的指定日期部分的間隔 select dateiff(mm,'01/01/2009','05/01/2009')傳回:4
4.datename 日期中指定日期部分的字元串形式 select datename(dw,'01/01/2000')傳回;saturday或星期六
5.datepart 日期中指定日期部分的整數形式 select datepart(day,'01/15/2000')傳回:15
數學函數(用于對數值進行代數運算)
1.rand 傳回從0到1之間的随機float值 select rand()傳回:0.79288062146374
2.abs 取數值表達式的絕對值 select abs(-43)傳回:43
3.ceiling 取大于或等于指定數值,表達式的最小整數 select ceiling(43.5)傳回:44
4.floor 取小于或等于指定表達式的最大整數 select floor(43.5)傳回:43
5.power 取數值表達式的幂值 select power(5,2)傳回:25
6.round 将數值表達式四舍五入為指定精度 select round (43.543,1)傳回:43.500
7.sign 對于整數傳回+1,對于負數傳回-1,對于0則傳回0 select sign(-43)傳回:-1
8.sqrt 取浮點表達式的平方根 select sqrt(9)傳回:3
系統函數(擷取有關SQL Server中對象和設定的系統資訊)
1.convert 用來轉變資料類型 select convert(varchar(5),12345)傳回:字元串12345
2.current_user 傳回目前使用者的名字 selectCurrent_user 傳回:你登入的使用者名
3.datalength 傳回用于指定表達式的位元組數 select datalength('中國A聯盟') 傳回:5
4.host_name 傳回目前使用者所登入的計算機名字 select host_name()傳回:你所登入的計算機的名字
5.system_user 傳回目前所登入的使用者名稱 select system_user傳回:你目前所登入的使用者名
6.user_name 從給定的使用者ID傳回使用者名 select user_name(1)傳回:從任意資料庫中傳回”dbo“
例:
1.年滿20周歲的條件 datediff(dd,borndate,getdate())>=365*20
2.擷取Email的域名 right(Email,len(Email) - charindex('@',Email))
3.擷取目前日期的年,月,日 convert(varchar(4),datepart(YYYY,getdate()))