T-SQL中的函數
數學函數
數學函數可以對數據類型爲整型(integer)、實型(real)、浮點型(float)、貨幣型(money)和smallmoney的列 進行操作。它的返回值是6位小數,如果使用出錯,則返回NULL值並顯示提示信息,通常該函數可以用在SQL語句的表達式中 常用的數學函數及說明
函數名稱 | 說 明 |
---|---|
COS | 返回指定的表達式中指定弧度的三角餘弦值 |
COT | 返回指定的表達式中指定弧度的三角餘切值 |
PI | 返回值爲圓周率 |
POWER | 將指定的表達式乘指定次方 |
RAND | 返回0~1之間的隨機float數 |
ROUND | 將數字表達式四捨五入爲指定的長度或精度 |
SIGN | 返回指定表達式的零(0)、正號(+1)或負號(-1) |
SIN | 返回指定的表達式中指定弧度的三角正弦值 |
SQUARE | 返回指定表達式的平方 |
SQRT | 返回指定表達式的平方根 |
TAN | 返回指定的表達式中指定弧度的三角正切值 |
ABS | 返回指定數字表達式的絕對值 |
算術函數(例如ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS和SIGN)返回與輸入值具有相同數據類型的值。三角函數和其他函數(包括EXP、LOG、LOG10、SQUARE和SQRT)將輸入值轉換爲float並返回float值
SELECT PI()
SELECT RAND()--隨機0-1浮點
SELECT ROUND(1.205,0)--四捨五入
SELECT FLOOR(1.9002)--向下取整
SELECT CEILING(1.0005)--向上取整
SELECT DEGREES(-1.0)--將弧度轉爲度
SELECT RADIANS(60.0)--將度轉爲弧度
字符串函數
字符串函數作用於char、varchar、binary和varbinary數據類型以及可以隱式轉換爲char或varchar的數據類型。通 常字符串函數可以用在SQL語句的表達式中。
常用的字符串函數及說明:
函 數 名 稱 | 說 明 |
---|---|
ASCII | 返回字符表達式最左端字符的ASCII代碼值 |
CHARINDEX | 返回字符串中指定表達式的起始位置 |
LEFT | 從左邊開始,取得字符串左邊指定個數的字符 |
LEN | 返回指定字符串的字符(而不是字節)個數 |
REPLACE | 將指定的字符串替換爲另一指定的字符串 |
REVERSE | 返回字符表達式的反轉 |
RIGHT | 從右邊開始,取得字符串右邊指定個數的字符 |
STR | 返回由數字數據轉換來的字符數據 |
SUBSTRING | 返回指定個數的字符 |
日期時間函數
日期和時間函數主要用來操作datetime、smalldatetime類型的數據,日期和時間函數執行算術運行與其他函數一樣,也 可以在SQL語句的SELECT、WHERE子句以及表達式中使用。
常用的日期時間函數及說明:
函 數 名 稱 | 說 明 |
---|---|
DATEADD | 在向指定日期加上一段時間的基礎上,返回新的datetime值 |
DATEDIFF | 返回跨兩個指定日期的日期和時間邊界數 |
GETDATE | 返回當前系統日期和時間 |
DAY | 返回指定日期中的天的整數 |
MONTH | 返回指定日期中的月份的整數 |
YEAR | 返回指定日期中的年份的整數 |
DATEADD函數將表示日期或時間間隔的數值與日期中指定的日期部分相加後,返回一個新的 DT_DBTIMESTAMP 值。
number參數的值必須爲整數,而date參數的取值必須爲有效日期。
語法如下:
DATEADD(datepart, number, date)
GROUP BY 分組查詢
通過指定的字段進行對數據進行分組
SELECT COUNT(*),Sex,AVG(Age) FROM Student GROUP BY Sex
HAVING函數
HAVING函數,查詢數據表中的重複記錄,可以藉助HAVING子句實現,該子句用來指定組或聚合的搜索條件。HAVING子句只能與SELECT語句一起使用,而且,它通常在GROUP BY子句中使用。相當於在GROUP BY裏面添加篩選條件
SELECT COUNT(*),Age FROM Student GROUP BY Age HAVING COUNT(*)<2