聚合函數
as是可以起別名的,在select和from之間的是表示列名,可以不加單引號)(聚合函數中的count不僅能對數字進行操作還能對字符型進行操作,其余的只能對數字操作)
最小值
selectMIN(jiage)as價格fromshuiguo--求最低價格
selectMIN(jiage)as價格fromshuiguo--求最低價格
最大值
selectMAX(jiage)as價格fromshuiguo--求最高的價格
總數
selectCOUNT(*)fromshuiguo--查表中一共有多少個數據
selectCOUNT(*)fromshuiguowherechandilike'海%'--產地是海開頭的有幾個
selectCOUNT(distinctchandi)fromshuiguo--去重之后查個數
平均值
selectAVG(jiage)as平均價格fromshuiguo--求平均價格
總和
selectSUM(jiage)as價格fromshuiguo--求總和
也可以并排一起寫,如:
selectCOUNT(name)as水果個數,SUM(jiage)as價格總和fromshuiguo
字符串函數
selectASCII('')--返回字符串首字母ascii編碼
select*fromhahawhereASCII(name)>200
selectCHAR(100)--將ascii代碼轉換成對應的字符(ascii碼對應的類型是int)
selectCHARINDEX('sdf','asdfg')--查找字符串,返回符合條件的首字母索引,索引從1開始,返回0表示沒有找到
selectleft('asdfg',3)--從左往右截取字符串指定長度
--結果為(asd)
selectRIGHT('asdf',3)--從右往左按指定個數截取長度
--結果為sdf
selectLEN('asd')--返回字符串長度,后面的空格不計算
selectLOWER('AsDf')--將大寫字母轉換成小寫字母
selectUPPER('asdA')--將小寫字母轉換成大寫字母
selectLTRIM('aaaaaaaaaa')--去除字符串左邊的空格,字符串中間的空格去不掉
selectRTRIM('a')--去除右邊的可空格
selectREPLACE(列名,替換前的內容,替換后的內容)--replace替換只是在顯示的時候替換,對原數據不做修改
selectREPLICATE('asd',3)--replicate為復制,前面是要復制的內容,后面是要復制幾次
selectREVERSE(1123)--reverse為翻轉
selectSPACE(7)--space表示打印空格,參數表示打印幾個空格
selectSTR(小數的原數據,字符串的長度,截取小數點后幾位)--小數點也算一個字符 --selectSTR(5672.1234,8,2)結果為5672.12
selectSTUFF('asdfghjk',3,0,'12345') 表示的意思是:12345插在d之后,0表示fghjk不刪除,如果是1則刪除f,2刪除fg,以此類推
selectSUBSTRING(列名,要截取開始的位數,截取幾位)--要截取開始的位數的索引是從1開始
日期和時間函數
selectDATEADD(YEAR,1,'2003-12-3')--指定日期加入一個時間段
selectDATEDIFF(yyyy,'2001-12-5','2012-12-12')--求時間差,可以指定類型來算
--年year月month日day時huor分minute秒second
selectDATEPART(MM,'2013-1-15')----獲取當前月,只是datename是返回的字符串型,detapart時返回的int型
selectGETDATE()--獲取服務器當前時間
selectISDATE('2014-11-12')--判斷是否是時間如期,如果時間正確返回,錯誤返回
selectYEAR('2012-12-12')--select后可跟年、月、日
數學規范函數
ceiling()取上限,小數點后有值就進
floor()取下限,不管小數點后有沒有值,都舍掉
power(3,2)--表示3的2次方
round(1.2345,0)后面參數是代表四舍五入到小數點后第幾位
sqrt()平方根
square()求平方
新聞熱點
疑難解答