数据库函数
数字函数
| 函数 | 功能 | 用例 |
|---|---|---|
| ABS | 绝对值 | ABS(-100) |
| ROUND | 四舍五入 | ROUND(4.62) |
| FLOOR | 强制舍位到最近的整数 | FLOOR(9.9) |
| CEIL | 强制进位到最近的整数 | CEIL(3.2) |
| POWER | 幂函数 | POWER(2,3) |
| LOG | 对数函数 | LOG(7,3) |
| LN | 对数函数 | LN(10) |
| SQRT | 开平方 | SQRT(9) |
| PI | 圆周率 | PI() |
| SIN | 三角函数 | SIN(1) |
| COS | 三角函数 | COS(1) |
| TAN | 三角函数 | TAN(1) |
| COT | 三角函数 | COT(1) |
| RADIANS | 角度转换弧度 | RADIANS(30) |
| DEGREES | 弧度转换角度 | DEGREES(1) |
日期函数
NOW()函数能获得系统日期和时间,格式yyyy-MM-dd hh:mm:ss
CURDATE()函数能获得当前系统日期,格式:yyyy-MM-dd
CURTIME()函数能获得当前系统时间,格式:hh:mm:ss
DATE_FORMAT()函数用于格式化日期,返回用户想要的日期格式
DATE_FORMAT(日期,表达式)
日期格式化函数
| 占位符 | 作用 | 占位符 | 作用 |
|---|---|---|---|
| %Y | 年份 | %m | 月份 |
| %d | 日期 | %w | 星期(数字) |
| %W | 星期(数字) | %j | 本年第几天 |
| %U | 本年第几周 | %H | 小时(24) |
| %h | 小时(12) | %i | 分钟 |
| %s | 秒 | %r | 时间(12) |
| %T | 时间(24) |
DATE_ADD()函数可以实现日期的偏移计算,而且时间单位很灵活
DATE_ADD(日期,INTERVAL 偏移量 时间单位)
字符函数
| 函数 | 功能 | 用例 |
|---|---|---|
| LOWER | 转换小写字符 | LOWER(ename) |
| UPPER | 转换大写字符 | UPPER(ename) |
| LENGTH | 字符长度 | LENGTH(ename) |
| CONCAT | 连接字符串 | CONCAT(sal,"$") |
| INSTR | 字符出现的位置 | INSTR(ename,"A") |
| INSERT | 插入/替换字符 | INSERT("你好",1,0,"先生") |
| REPLACE | 替换字符 | REPLACE("你好先生","先生","女士") |
| SUBSTR | 截取字符串 | SUBSTR("你好世界",3,4) |
| SUBSTRING | 截取字符串 | SUBSTRING("你好世界",3,2) |
| LPAD | 左侧填充字符 | LPAD("hello",10,"*") |
| RPAD | 右侧填充字符 | RPAD("Hello",10,"*") |
| TRIM | 去除首尾空格 | TRIM("你好先生") |
# INSTR 字符出现的位置
INSTR("hello","e") # e在hello字符中出现的位置
# INSERT 插入/替换字符
INSERT("你好",1,0,"先生")
# 你好 表示需要操作的原始字符 1,表示要插入的位置,0表示插入,先生表示要插入的字符
条件函数
SQL语句中可以利用函数来实现编程语言里的条件判断
IFNULL(表达式,值)
# 如果表达式为空,就一个值
IF(表达式,值1,值2)
# 如果表达式为真,返回值1,否则返回值2
# 复杂的条件判断可以用条件语句来实现
CASE
WHEN 表达式 THEN 值1
WHEN 表达式 THEN 值2
...
ELSE 值N
END
浙公网安备 33010602011771号