Sql Server函數

SQLServer基本函數

1.字符串函數 :



字符操作類 :


upper(char_expr) 轉爲大寫
lower(char_expr) 轉爲小寫
UCase(string) 返回 Variant (String),其中包含轉成大寫的字符串。
LCase(string) 返回字符串的小寫形式。
space(int_expr) 生成int_expr個空格
replicate(char_expr,int_expr) 複製字符串int_expr次
reverse(char_expr) 反轉字符串
stuff(char_expr1,start,length,char_expr2) 將字符串char_expr1中的從 start開始的length個字符用char_expr2代替
ltrim(char_expr) rtrim(char_expr) 去掉空格
ascii(char) char(ascii) 兩函數對應,取ascii碼,根據ascii嗎取字符


字符串查找 :


charindex(char_expr,expression) 返回char_expr的起始位置
patindex("%pattern%",expression) 返回指定模式的起始位置,否則爲0
locate(substr,str,pos) 返回子串substr在字符串str第一個出現的位置


2.數學函數


abs(numeric_expr) 求絕對值
ceiling(numeric_expr) 取大於等於指定值的最小整數
exp(float_expr) 取指數
floor(numeric_expr) 小於等於指定值得最大整數
power(numeric_expr,power) 返回power次方
rand([int_expr]) 隨機數產生器
round(numeric_expr,int_expr) 安int_expr規定的精度四捨五入
sign(int_expr) 根據正數,0,負數,,返回+1,0,-1
sqrt(float_expr) 平方根
exp(float x):求e的x次冪
tan(float x):計算x(弧度表示)的正切值。
atan(float x):求x(弧度表示)的反正切值
cos(float x):求x(弧度表示)的餘弦值
acos(float x):求x(弧度表示)的反餘弦值
sin(float x):計算x(弧度表示)的正弦值。
asin(float x):求x(弧度表示)的反正弦值
fabs(float x):求浮點數x的絕對值
fmod(float x, float y):計算x/y的餘數
pow(float x, float y):計算x的y次冪。
sqrt(float x):計算x的平方根。


3.日期,時間函數


getdate() 返回日期
datename(datepart,date_expr) 返回名稱
datepart(datepart,date_expr) 取日期一部份
datediff(datepart,date_expr1.dateexpr2) 日期差
dateadd(datepart,number,date_expr) 返回日期加上 number


4.系統函數


suser_name() 用戶登錄名
user_name() 用戶在數據庫中的名字
user 用戶在數據庫中的名字
show_role() 對當前用戶起作用的規則
db_name() 數據庫名
object_name(obj_id) 數據庫對象名
col_name(obj_id,col_id) 列名
col_length(objname,colname) 列長度
valid_name(char_expr) 是否是有效標識符


5.SQL 合計函數:


Avg 函數:計算包含在特定查詢字段中的一組數值的算術平均值。


   語法:Avg(expr)expr 代表一個字符串表達式,它或者標識一個字段,該字段包含要計算平均值的數據;或者標識一個表達式,它用該字段中的數據來執行計算。


   說明:使用 Avg 計算的平均值是算術平均值(將全部值的總和除以值的數目)。Avg 函數在計算中不計任何 Null 字段。你可以把 Min 和 Max 用於詢問表達式和具備 SQL 特性的 QueryDef 對象中或在創建基於 SQL 查詢的 Recordset 對象時。

 

Count 函數:計算從查詢返回的記錄數。
 

  語法:Count(expr)expr 代表一個字符串表達式,它或者標識一個字段,該字段包含要計算的數據;或者是一個表達式,它使用此字段中的數據來執行計算。expr 中的運算對象可能包括一個表字段名,一個常數或一個函數(可能是內在的,也可能是用戶自定義的,但不是 SQL合計函數).您可以計算任何種類的數據,包含文本數據。
 

  說明:可以使用 Count 計算下一級查詢的記錄數。但 Count 只是簡單計算記錄的數量。並不管記錄中保存的是什麼值。Count 函數不數帶有 Null 字段的記錄。如果 expr 標識多重字段,在至少有一個字段的值不爲 Null 的情況下, Count 函數只計算一個記錄。如果全部的指定字段爲 Null,沒有記錄會被計算。使用 (&) 分隔字段名。在查詢表達式中可以使用 Count。你可以把這些表達式應用於具備 SQL特性的 QueryDef對象中或在創建基於SQL查詢的Recordset時。

 

First 和 Last 函數:在查詢所返回的結果集中,第一個記錄或最後一個記錄所返回的字段值。
  

 語法:First(expr);Last(expr)expr 代表一個字符串表達式,它或者標識一個字段,該字段包含要計算的數據;或者是一個表達式,它使用此字段中的數據來執行計算。expr 中的運算對象可能包括一個表字段名,一個常數或一個函數(可能是內在的,也可能是用戶自定義的,但不是 SQL 合計函數)。
 

  說明:First和 Last 函數與 MoveFirst和 MoveLast法在 DAO 記錄集合對象中是相近的。它們只簡單返回查詢結果集中的第一個或最後一個記錄的指定字段值。因爲通常返回的記錄沒有一定的順序 (除非查詢中包含一個 ORDER BY 子句),所以這些函數返回的記錄會任意地排列。

 

Min 和 Max 函數:在查詢時從一組指定字段的值中返回最小或最大值。

   語法:Min(expr);Max(expr) expr 代表一個字符串表達式,它或者標識一個字段,該字段包含要計算的數據;或者是一個表達式,它使用此字段中的數據來執行計算。 expr中的運算對象可能包括一個表字段名,一個常數或一個 函數 (可能是內在的,也可能是用戶自定義的,但不是 SQL 合計函數)。

   說明:可以使用 Min 及 Max 來計算字段中的最小及最大值,該字段是基於指定的合計或分組的。例如,可以使用這些函數返回最低和最高的貨運成本。如果沒有指定合計,則使用整個表。你可以把 Avg 用於查詢表達式和具備 SQL特性的 QueryDef對象中或當創建基於SQL查詢的 Recordset對象時。

 

StDev 和 StDevP 函數:返回總體或總體樣本的標準偏差的估計值,此估計值用包含在一個查詢的指定字段中的一組值來表示。
 

  語法:StDev(expr);StDevP(expr) expr 代表一個字符串表達式,它或者標識一個字段,該字段包含要計算的數據;或者是一個表達式,它使用此字段中的數據來執行計算。expr 中的運算對象可能包括一個表字段名,一個常數或一個函數(可能是內在的,也可能是用戶自定義的,但不是 SQL 合計函數)。
 

  說明:StDevP 函數計算總體,而 StDev 函數則計算總體樣本。如果下一級查詢中包含兩個以下的記錄(或沒有記錄,對於StDevP 函數),這兩個函數將返回一個 Null 值(表示不能計算標準偏差)。可以在查詢表達式中使用 StDev 和 StDevP 函數。你可以把這些表達式應用於具備 SQL 特性的 QueryDef 對象中或在創建基於 SQL 查詢的Recordset 時。

 

Sum 函數:返回包含在指定查詢字段中一組值的總計。

   語法:Sum(expr) expr 代表一個字符串表達式,它或者標識一個字段,該字段包含要計算的數據;或者是一個表達式,它使用此字段中的數據來執行計算。 expr中的運算對象可能包括一個表字段名,一個常數或一個函數(可能是內在的,也可能是用戶自定義的,但不是 SQL 合計函數)。
 

  說明:Sum 函數求字段中值的總和。例如,可用 Sum 函數計算貨運的總費用。Sum 函數會忽略包含 Null 字段的記錄。下列示例顯示如何計算產品的 UnitPrice (單價)及 Quantity (數量)字段的合計:
SELECT
Sum(UnitPrice * Quantity)
AS [Total Revenue] FROM [Order Details];
可以在一個查詢表達式之中使用 Sum 函數。你也可以在具備 SQL 特性的 QueryDef 對象中或在創建基於SQL查詢的 Recordset 對象時使用這一表達式。

 

Var 和 VarP 函數:返回一個總體或總體樣本的方差的估計值,此估計值用包含在指定查詢字段中的一組值來表示。
  

 語法:Var(expr);VarP(expr) expr 代表一個字符串表達式,它或者標識一個字段,該字段包含要計算的數據;或者是一個表達式,它使用此字段中的數據來執行計算。expr 中的運算對象可能包括一個表字段名,一個常數或一個函數(可能是內在的,也可能是用戶自定義的,但不是 SQL 合計函數)。

   說明:使用 VarP 函數計算總體,而 Var 函數計算總體樣本。如果下一級查詢中包含兩個以下的記錄,Var 及 VarP 函數將返回一個 Null 值,該表示不能計算方差。在查詢表達式或 SQL 語句中,可以使用 Var 及 VarP 函數。

 datalength(Char_expr) 返回字符串包含字符數,但不包含後面的空格
length(expression,variable)指定字符串或變量名稱的長度。
substring(expression,start,length) 不多說了,取子串
right(char_expr,int_expr) 返回字符串右邊int_expr個字符
concat(str1,str2,...)返回來自於參數連結的字符串。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章