一、SQLENN函數
SELECT SQLENN(FieldName) FROM TableName;
SQLENN函數是返回指定字段的長度,用法與Len函數類似
在該函數中,需傳入指定的字段名作為參數,SQLENN函數計算每個值的長度,並返回聚合函數結果。
需要注意的是,如果給定的字段值為Null,則返回值也為Null。除此之外,該函數在操作字符串類型的字段時,返回的是字符的UTF-8編碼長度。
二、SQL中ABS函數
SELECT ABS(FieldName) FROM TableName;
ABS函數即為絕對值函數,用於返回數字表達式的絕對值
在該函數中,需傳入數字表達式作為參數,函數返回該數字表達式的絕對值。如果指定的表達式為NULL,則返回值為NULL。需要注意的是,該函數不支持文本或日期數據類型。
三、SQLWHEN函數
SELECT CASE WHEN Condition1 THEN Result1 ELSE Result2 END FROM TableName;
該函數常用於條件語句中,如if語句,分別執行不同的結果。
CASE語句和IF語句一樣,用於根據條件執行不同的語句。
基本語法:
結束標識符:END或END CASE
使用CASE語句的目的是測試一系列可能值,得出結果。類似於其他編程語言中的switch語句。CASE語句是SQL語言中一個靈活而強大的工具,在SELECT語句中根據條件顯示不同的值。可以使用常量、表達式或任何其他SELECT語句返回的結果集。CASE語句也可以在ORDER BY子句中使用。
四、SQLMAX函數
SELECT MAX(FieldName) FROM TableName;
SQLMAX函數作用是來獲取指定字段中的最大值。對於字符串類型,返回的是ASCII編碼最大的值。
SELECT MAX(id) AS max_id FROM student 這句話的含義是:返回了表 student 中,id 字段的最大值,並將該值重命名為 max_id。
五、SQLSUM函數
SELECT SUM(FieldName) FROM TableName;
SQLSUM函數用來獲取數值型字段的合計值。
需要注意的是,在執行計算前,SQLEUM函數會忽略掉空值和非數值類型的屬性。如果對非數值類型的屬性進行計算,將會發生類型轉換錯誤。
六、SQCLOVER函數
SELECT SQCLOVER(Field) OVER (PARTITION BY OtherField ORDER BY SortField DESC) FROM TableName;
SQCLOVER函數是在窗口函數常用的一個函數,通過基於給定的排列規則計算一個額外的列。而這列可以為每個行創建一個”兩兩比較時已經發生的情況”的概要。
函數的第一次參數,指定了窗口函數操作的列(可以帶別名和函數調用),SQL標準接受列區間和表達式。第二個參數,即分區子句,用於指定要分組的一系列列。ORDER BY子句,表示在窗口操作開始前,如何排序結果集,為每個窗口定義了原始排序順序。
七、SQLWITH函數
WITH result_job AS ( SELECT job_id, AVG(salary) AS 'Avg_salary' FROM employees GROUP BY job_id) SELECT j.job_title, rj.Avg_salary FROM jobs j JOIN result_job rj ON j.job_id = rj.job_id;
SQLWITH函數定義常規查詢並基於該查詢定義一個臨時結果集,該查詢可以在您的查詢中多次調用。從整體上看,使用此方法可以使代碼變得更加規範,更可讀,更易於調試和優化。
完整的WITH函數語法是:
WITH
常規查詢 / 查詢列表 AS (
第二個作用域的查詢列表)
SELECT 待獲取的列
FROM 常規查詢 / 查詢列表
[WHERE 篩選查詢]
八、SQLCASE函數
SELECT customer_id, first_name, last_name, CASE WHEN phone_number LIKE '%123%' THEN 'yes' ELSE 'no' END AS 'Contact' FROM customers;
SQLCASE函數可以根據條件返回值。
FUNCTION CASE的寫法是這樣的:
CASE expression
WHEN value THEN result1
——
ELSE default
END
其中expression是要進行判斷的字段或值,value是用來和表達式進行匹配的值,result1是在匹配條件成立時要返回的值,如果匹配失敗,將返回基本的default結果。
九、SQLSERVER函數
SELECT DB_NAME(); SELECT CURRENT_USER;
SQLSERVER函數是Transact-SQL的系統定義函數,而不是內置函數
DB_NAME 返回當前數據庫的名稱,其使用方便之處在於無需在該代碼和任何代碼行內使用數據庫名稱。 Current_User 函數返回用戶登錄到 SQL Server 的當前登錄名。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/240608.html