系統函數,主要是查詢信息和工具。查詢信息分爲當前會話的信息,元信息。
1、會話信息
select version // 查詢版本號 select current_user // 返回當前用戶 select current_role // 返回當前角色 select connection_id // 返回當前連接的ID select database // 返回當前的數據庫
2、元信息
select default(col) // 返回列的默認值 select last_insert_id(col) // 返回列的默認值 select charset(identifier || literal); // 返回字符集。 select collation(identifier || literal); // 返回排序集
3、工具
3.1 if
格式: if(exp1, exp2, exp3)
說明:當exp1表達式返回的結果爲真時,返回exp2的結果,否則返回exp3的結果。類似於三目表達式。
參數:exp1表達式返回爲布爾類型,當爲其他類型時,truty和falsy。
3.2 cast
格式:cast (expression as data_type[(length)])
描述:將expression的結果轉換爲指定的數據類型。若失敗返回數據類型的默認值。
參數:
expression:任意的表達式,列,計算結果,函數返回結果等等,但是隻能是單值。
data_type(length):數據類型,length指定長度,是可選的、
示例:
select cast('abc' as decimal(2,0)); // 返回0
select cast('abc' as char(1)); // 返回a
3.3 鎖
get_lock(str, timeout) // 獲取鎖,最長等待timeout
is_free_lock(lock) // 是否已釋放的鎖
is_used_lock(lock) // 是否正在使用的鎖
release_lock(str) // 釋放鎖
sleep(second) // 睡眠幾秒鐘