1.字符串函數概述sql
1)1.字符串函數說明:函數
2)1.REPLACE(替換字符串)函數spa
REPLACE函數將表達式中的一個字符串替換爲另外一個字符串或空字符串後,返回-個字符表達式。3d
語法:select replace ..... from 表名code
--字符串處理
select replace(Name,'瑩草','玉藻前') from kehu2/*將含瑩草的字符串換成玉藻前*/
--能夠在表中也產生改變的
update kehu2 set Name= replace(Name,'瑩草','玉藻前')/*在表中產生改變*/
2)2.REVERS函數server
REVERSE函數按相反順序返回字符表達式。blog
語法:select reverse ... from 表名字符串
--字符串反轉
select reverse (Name) from kehu2
2)3.STR函數get
STR函數返回由數字數據轉換來的字符數據。字符串處理
select str.....
--保留的位數
select str ('123.45',6,1)/* 6是包括字符串長度,2是保留小數點後的位數 */
2)4.SNBSTRING函數
SUBSTRING函數用於返回字符表達式、二進制表達式、文本表達式或圖像表達式的一部分,
語法:select substring .......
--截取字符串 select substring('經年癡心妄想,一時走火入魔',6,3)/*一句話中截取從6開始截取3個字符串*/
--返回字符串位置
select charindex('癡心妄想','經年癡心妄想,一時走火入魔')/*返回的是第一個字符的位置*/
2.日期函數和時間函數
說明:
1)1.GETDATE函數和DAY函數
得到當前時間。
語法:select getdate()
--時間
select getdate()/*獲取系統當前時間*/
select day (getDate()),month(getDate()),year(getDate())/*獲取時間*/
1)2.DATDIFF函數和DATEADD函數
DATEDIFF函數用於返回日期和時間的邊界數。
1 --計算時間間隔
2 select datediff(year,'1997-1-1',getDate())/*後面的年份減去前面的年份獲得 年間隔 */
3 select datediff(day,'1997-1-1',getDate())/*天間隔*/
4 select datediff(month,'1997-1-1',getDate())/*月間隔*/
5 --進行時間進退
6 select dateadd(year,2,getDate())/*獲取當前時間後兩年的時間*/
7 select dateadd(year,-2,getDate())/*前兩年*/
8 select dateadd(month,2,getDate())/*獲取當前時間後兩月的時間*/
9 select dateadd(day,2,getDate())/*獲取當前時間後兩天的時間*/
縮寫:
3.數學函數
1)1.POWER函數,RAND函數,ROOUND函數
1 --數學函數
2 select abs(-3)/*返回絕對值*/
3 select power(3,2)/*3的2次方*/
4 select square(9)/*平方*/
5 select sqrt(9)/*平方根*/
6 --隨機數
7 select rand(20),rand(20),rand(39),rand(100),rand()/*0到1之間的隨機float值*/
8 --進行四捨五入
9 select round(123.456,2)
4.轉換函數
1)1.隱式轉換:sql server自動處理某些數據類型的轉換
2.顯示轉換:須要用到cast函數和convert函數
2)2.CAST函數和CONVERT函數
1 --類型轉換
2 select 1+'2'/*將數字轉字符類(隱式轉換)*/
3 --顯式轉換
4 select '當前時間:'+cast(getDate() as nvarchar(20))/*將數字類轉字符*/
5 select '當前時間:'+convert(nvarchar(20),getDate())/*將字符轉數字(格式化日期數據)*/
2)3.style日期樣式