系统函数,主要是查询信息和工具。查询信息分为当前会话的信息,元信息。
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) // 睡眠几秒钟