字符函数
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8851dc68ed457171525f15c5581e5d97.png)
字符函数 | 函数 | 结果 |
---|
大小写控制函数 | LOWER(‘SQL Course’) | sql course |
大小写控制函数 | UPPER(‘SQL Course’) | SQL COURSE |
字符控制函数 | CONCAT(‘Hello’, ‘World’) | HelloWorld |
字符控制函数 | SUBSTR(‘HelloWorld’,1,5) | Hello |
字符控制函数 | LENGTH(‘HelloWorld’) | 10 |
字符控制函数 | INSTR(‘HelloWorld’, ‘W’) | 6 |
字符控制函数 | LPAD(salary,10,’*’) | *****24000 |
字符控制函数 | RPAD(salary, 10, ‘*’) | 24000***** |
字符控制函数 | TRIM(‘H’ FROM ‘HelloWorld’) | elloWorld |
字符控制函数 | REPLACE(‘abcd’,‘b’,‘m’) | amcd |
数字函数
数字函数 | 函数 | 结果 |
---|
四舍五入 | ROUND(45.926, 2) | 45.93 |
截断 | TRUNC(45.926, 2) | 45.92 |
求余 | MOD(1600, 300) | 100 |
获取当前日期 | now | |
将日期格式的字符转换成指定格式的日期 | STR_TO_DATE(‘9-13-1999’,’%m-%d-%Y’) | 1999-09-13 |
将日期转换成字符 | DATE_FORMAT(‘2018/6/6’,‘%Y 年%m 月%d 日’) | 2018 年06 月06 日 |
计算日期差值 | DATEDIFF(‘1999-2-7’,‘1996-2-6’) | 1097 |
序号 | 格式符 | 功能 |
---|
01 | %Y | 四位的年份 |
02 | %y | 2位的年份 |
03 | %m | 月份(01,02…11,12) |
04 | %c | 月份(1,2,…11,12) |
05 | %d | 日(01,02,…) |
06 | %H | 小时(24小时制) |
07 | %h | 小时(12小时制) |
08 | %i | 分钟(00,01…59) |
09 | %s | 秒(00,01,…59) |
条件表达式
在需要使用 IF-THEN-ELSE 逻辑时:
CASE expr
WHEN comparison_expr1 THEN return_expr1
WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr
END
下面是使用case表达式的一个例子(注意逗号):
SELECT last_name, job_id, salary,
CASE job_id
WHEN 'IT_PROG' THEN 1.10*salary
WHEN 'ST_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE salary END "REVISED_SALARY"
FROM employees;
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/92e440548fe99b751b9cabd9f899eb6c.png)