目录
| 作用 | 函数 | 结果 |
|---|---|---|
| 转小写 | 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 |
| 字符截取后半段 | TRIM('H' FROM 'HelloWorld') | elloWorld |
| 字符替换 | REPLACE('abcd','b','m') | amcd |
- 1.length 获取参数值的字节个数
- SELECT LENGTH('john');
- SELECT LENGTH('小朱小朱小猪猪');
- SHOW VARIABLES LIKE '%char%'
- 2.concat 拼接字符串
- SELECT CONCAT(last_name,'_',first_name) 姓名 t_mysql_FROM employees;
- 3.upper、lower
- SELECT UPPER('john');
- SELECT LOWER('joHn');
- 示例:将姓变大写,名变小写,然后拼接
- SELECT CONCAT(UPPER(last_name),LOWER(first_name)) 姓名 FROM t_mysql_employees;
- 4.substr、substring
- 注意:索引从1开始
- 截取从指定索引处后面所有字符
- SELECT SUBSTR('abcccccccccccc',7) out_put;
- 截取从指定索引处指定字符长度的字符
- SELECT SUBSTR('小朱小朱胖乎乎',1,3) out_put;
-
- 案例:姓名中首字符大写,其他字符小写然后用_拼接,显示出来
- SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),'_',LOWER(SUBSTR(last_name,2))) out_put
- FROM t_mysql_employees;5.instr 返回子串第一次出现的索引,如果找不到返回0
- SELECT INSTR('aaabbbb','aaa') AS out_put;
- #6.trim
- SELECT LENGTH(TRIM(' 朱佳音 ')) AS out_put;
- SELECT TRIM('aa' FROM 'aaaaaaaaa朱aaaaaaaaaaaa佳音aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') AS out_put;
- 7.lpad 用指定的字符实现左填充指定长度
- SELECT LPAD('小朱',2,'*') AS out_put;
- 8.rpad 用指定的字符实现右填充指定长度
- SELECT RPAD('小朱',12,'ab') AS out_put;
-
- 9.replace 替换
- SELECT REPLACE('小朱爱睡觉','小朱','熊二') AS out_put;
| 作用 | 函数 | 结果 |
|---|---|---|
| 四舍五入 | ROUND(45.926, 2) | 45.93 |
| 截断 | TRUNC(45.926, 2) | 45.92 |
| 求余 | MOD(1600, 300) | 100 |
- round 四舍五入
- SELECT ROUND(-1.55);
- SELECT ROUND(1.567,2);
-
- #ceil 向上取整,返回>=该参数的最小整数
- SELECT CEIL(-1.02);
- #floor 向下取整,返回<=该参数的最大整数
- SELECT FLOOR(-9.99);
- #truncate 截断
- SELECT TRUNCATE(1.69999,1);
| 作用 | 函数 | 结果 |
|---|---|---|
| 获取当前日期 | now() | |
| 将日期格式的字符转换成指定格式的日期 | STR_TO_DATE('9-13-1999','%m-%d-%Y') | 1999-09-13 |
| 将日期转换成字符 | DATE_FORMAT(‘2018/6/6’,‘%Y年%m月%d日’) | 2018年06月06日 |
- now 返回当前系统日期+时间
- SELECT NOW();
- curdate 返回当前系统日期,不包含时间
- SELECT CURDATE();
- curtime 返回当前时间,不包含日期
- SELECT CURTIME();
-
- 可以获取指定的部分,年、月、日、小时、分钟、秒
- SELECT YEAR(NOW()) 年;
- SELECT YEAR('1998-1-1') 年;
- SELECT YEAR(hiredate) 年 FROM t_mysql_employees;
- SELECT MONTH(NOW()) 月;
- SELECT MONTHNAME(NOW()) 月;
-
- str_to_date 将字符通过指定的格式转换成日期
- SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;
-
-
- date_format 将日期转换成字符
- SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;
- SELECT IF(10<5,'大','小');
- SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金,呵呵','有奖金,嘻嘻') 备注
- FROM t_mysql_employees;
-
- java中
- switch(变量或表达式){
- case 常量1:语句1;break;
- ...
- default:语句n;break;
-
-
- }
-
- mysql中
-
- case 要判断的字段或表达式
- when 常量1 then 要显示的值1或语句1;
- when 常量2 then 要显示的值2或语句2;
- ...
- else 要显示的值n或语句n;
- end