參考: https://www.cnblogs.com/Yxxxxx/p/6847504.html
sql常用函數
統計函數
- AVG –求平均值
- COUNT –統計數目
- MAX –求最大值
- MIN –求最小值
- SUM –求和
–AVG
use pangu
select avg(e_wage) as dept_avgWage
from employee
group by dept_id
–MAX
#--求工資最高的員工姓名
use pangu
select e_name
from employee
where e_wage =C
(select max(e_wage)
from employee)
–STDEV()
–STDEV()函數返回表達式中所有數據的標準差
–STDEVP()
–STDEVP()函數返回總體標準差
–VAR()
–VAR()函數返回表達式中所有值的統計變異數
–VARP()
–VARP()函數返回總體變異數
算術函數
三角函數
SIN(float_expression) –返回以弧度表示的角的正弦
COS(float_expression) –返回以弧度表示的角的餘弦
TAN(float_expression) –返回以弧度表示的角的正切
COT(float_expression) –返回以弧度表示的角的餘切
反三角函數
ASIN(float_expression) –返回正弦是FLOAT 值的以弧度表示的角
ACOS(float_expression) –返回餘弦是FLOAT 值的以弧度表示的角
ATAN(float_expression) –返回正切是FLOAT 值的以弧度表示的角
ATAN2(float_expression1,float_expression2)
–返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
DEGREES(numeric_expression)
–把弧度轉換爲角度返回與表達式相同的數據類型可爲
–INTEGER/MONEY/REAL/FLOAT 類型
RADIANS(numeric_expression) –把角度轉換爲弧度返回與表達式相同的數據類型可爲
–INTEGER/MONEY/REAL/FLOAT 類型
EXP(float_expression) –返回表達式的指數值
LOG(float_expression) –返回表達式的自然對數值
LOG10(float_expression)–返回表達式的以10 爲底的對數值
SQRT(float_expression) –返回表達式的平方根
取近似值函數
CEILING(numeric_expression) –返回>=表達式的最小整數返回的數據類型與表達式相同可爲
–INTEGER/MONEY/REAL/FLOAT 類型
FLOOR(numeric_expression) –返回<=表達式的最小整數返回的數據類型與表達式相同可爲
–INTEGER/MONEY/REAL/FLOAT 類型
ROUND(numeric_expression) –返回以integer_expression 爲精度的四捨五入值返回的數據
–類型與表達式相同可爲INTEGER/MONEY/REAL/FLOAT 類型
ABS(numeric_expression) –返回表達式的絕對值返回的數據類型與表達式相同可爲
–INTEGER/MONEY/REAL/FLOAT 類型
SIGN(numeric_expression) –測試參數的正負號返回0 零值1 正數或-1 負數返回的數據類型
–與表達式相同可爲INTEGER/MONEY/REAL/FLOAT 類型
PI() –返回值爲π 即3.1415926535897936
RAND([integer_expression]) –用任選的[integer_expression]做種子值得出0-1 間的隨機浮點數
字符串函數
ASCII() –函數返回字符表達式最左端字符的ASCII 碼值
CHAR() –函數用於將ASCII 碼轉換爲字符
–如果沒有輸入0 ~ 255 之間的ASCII 碼值CHAR 函數會返回一個NULL 值
LOWER() –函數把字符串全部轉換爲小寫
UPPER() –函數把字符串全部轉換爲大寫
STR() –函數把數值型數據轉換爲字符型數據
LTRIM() –函數把字符串頭部的空格去掉
RTRIM() –函數把字符串尾部的空格去掉
LEFT(),RIGHT(),SUBSTRING() –函數返回部分字符串
CHARINDEX(),PATINDEX() –函數返回字符串中某個指定的子串出現的開始位置
SOUNDEX() –函數返回一個四位字符碼C
–SOUNDEX函數可用來查找聲音相似的字符串但SOUNDEX函數對數字和漢字均只返回0 值
DIFFERENCE() –函數返回由SOUNDEX 函數返回的兩個字符表達式的值的差異
–0 兩個SOUNDEX 函數返回值的第一個字符不同
–1 兩個SOUNDEX 函數返回值的第一個字符相同
–2 兩個SOUNDEX 函數返回值的第一二個字符相同
–3 兩個SOUNDEX 函數返回值的第一二三個字符相同
–4 兩個SOUNDEX 函數返回值完全相同
QUOTENAME() –函數返回被特定字符括起來的字符串
/*select quotename(’abc’, ’{’) quotename(’abc’)
運行結果如下
----------------------------------{
{abc} [abc]*/
REPLICATE() –函數返回一個重複character_expression 指定次數的字符串
/*select replicate(’abc’, 3) replicate( ’abc’, -2)
運行結果如下
----------- -----------
abcabcabc NULL*/
REVERSE() –函數將指定的字符串的字符排列順序顛倒
REPLACE() –函數返回被替換了指定子串的字符串
/*select replace(’abc123g’, ’123’, ’def’)
運行結果如下
----------- -----------
abcdefg*/
SPACE() –函數返回一個有指定長度的空白字符串
STUFF() –函數用另一子串替換字符串指定位置長度的子串
數據類型轉換函數
CAST() 函數語法如下
CAST() ( AS [ length ])
CONVERT() 函數語法如下
CONVERT() ([ length ], [, style])
select cast(100+99 as char) convert(varchar(12), getdate())
運行結果如下
------------------------------ ------------
199 Jan 15 2000
日期函數
DAY() –函數返回date_expression 中的日期值
MONTH() –函數返回date_expression 中的月份值
YEAR() –函數返回date_expression 中的年份值
DATEADD( , ,)
–函數返回指定日期date 加上指定的額外日期間隔number 產生的新日期
DATEDIFF( , ,)
–函數返回兩個指定日期在datepart 方面的不同之處
DATENAME( , ) –函數以字符串的形式返回日期的指定部分
DATEPART( , ) –函數以整數值的形式返回日期的指定部分
GETDATE() –函數以DATETIME 的缺省格式返回系統當前的日期和時間
系統函數
APP_NAME() –函數返回當前執行的應用程序的名稱