数据库的内置函数
字符串函数 数值函数 日期时间函数 流程函数 其他常用函数
记录一下:人生的第一个博客
立贴为证:我的博客必须全是干货
一 . 字符串函数
-
Concat() : 字符串的拼接
-
lcase() 或lower():转小写
-
ucase() 或 upper() :转大写
-
Length() 字符串长度
-
Ltrim(): 去除左边的空格
Rtrim() 去除右边空格
Trim(): 去除左右两边的空格 -
Repeat(string,count) 重复count次
-
Replace(str,search_str,replace_str) 在str中用replace_str替换searche_str
区分大小写
8.Substring(str,position,length) 从position开始,截取length个字符(第一位从1开始)
9.left(str,len) 返回字符串 str 最左边的 x 个字符
10.Right(str,x) 返回字符串 str 最右边的 x 个字符
11.LPAD(str,n ,pad) 用字符串 pad 对 str 最左边进行填充,直到长度为 n 个字符长度
12. RPAD(str,n,pad) 用字符串 pad 对 str 最右边进行填充,直到长度为 n 个字符长度
13. strcmp(s1,s2) 比较字符串 s1 和 s2
STRCMP(s1,s2)函数:比较字符串 s1 和 s2 的 ASCII 码值的大小。
如果 s1 比 s2 小,那么返回 -1
如果 s1 与 s2 相等,那么返回 0
如果 s1 比 s2 大,那么返回 1
14. insert(str,x,y,instr) 将字符串 str 从第 x 位置开始,y 个字符长的子串替换为字符串 instr
二 . 数值函数
- ABS(x):返回 x 的绝对值
- ceil(x)函数:返回大于 x 的最大整数。
- floor(x) 返回小于 x 的最大整数值
- MOD(x,y) 返回 x/y 的模 (余数)
- RAND()函数:返回 0 到 1 内的随机值。
- ROUND(x,y)函数:返回参数 x 的四舍五入的有 y 位小数的值。
- truncate(x,y)函数:返回数字 x 截断为 y 位小数的结果。
三 . 日期和时间函数
- curdate() 返回当前日期
- CURTIME() 返回当前时间
- NOW() 返回当前的日期和时间
- unix_timestamp(date) 返回日期 date 的 UNIX 时间戳
这两个sql语句返回的结果是一样的,说明默认是当前的日期加时间! - from_unixtime 返回 UNIX 时间戳的日期值
根据unix的时间戳返回当时的日期加时间(年月日时分秒) - WEEK(date) 返回日期 date 为一年中的第几周
- YEAR(date) 返回日期 date 的年份
- HOUR(time) , MINUTE(time) ,MONTHNAME(date)
hour(time) 返回 time 的小时值
minute(time) 返回 time 的分钟值
monthname(date) 返回 date 的月份名 - DATE_FORMAT(date,fmt) 返回按字符串 fmt 格式化日期 date 值
- DATE_ADD(date,INTERVAL expr type) 返回一个日期或时间值加上一个时间间隔的时间值
- DATEDIFF(expr,expr2) 返回起始时间 expr 和结束时间 expr2 之间的天数
四 . 流程函数
- IF(value,t ,f) 如果 value 是真,返回 t;否则返回 f
- IFNULL(value1,value2) 如果 value1 不为空返回 value1,否则返回 value2
- CASE WHEN [value1] THEN[result1 ] ELSE[default]END 如果 value1 是真,返回 result1,否则返回 default
- CASE [expr] WHEN [value1] THEN[result1]…ELSE[default]END
– 如果 expr 等于 value1,返回 result1,否则返回 default
五 . 其他常用函数
- DATABASE() 返回当前数据库名
SELECT database(); - VERSION() 返回当前数据库版本
SELECT version(); - USER() 返回当前登录用户名
SELECT user(); - INET_ATON(IP) 返回 IP 地址的数字表示
SELECT inet_aton(‘192.168.60.195’); - INET_NTOA(num) 返回数字代表的 IP 地址
SELECT inet_ntoa(3232251075); - PASSWORD(str) 返回字符串 str 的加密版本
SELECT password(‘123456’); - MD5() 返回字符串 str 的 MD5 值
SELECT MD5(“zhouyiyao”);