字符串操作函数
1.UPPER和UCASE
返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成大写。
select UPPER(iau.username),UCASE(iau.username) from ipark_app_user iau;
2.LOWER和LCASE
返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成小写。
select LOWER(iau.username),LCASE(iau.username) from ipark_app_user iau;
3.REPLACE(str,from_str,to_str)
返回字符串str,其字符串from_str的所有出现由字符串to_str代替。
select username,REPLACE(username,'san','San') from ipark_app_user iau;
4.TRIM(str)、LTRIM(str)、RTRIM(str)
返回字符串str,其首尾、首、尾空字符被清除。
select ' username ' as username ,trim(' username ') from ipark_app_user iau;
5.得到字符串长度的函数
LENGTH(str),OCTET_LENGTH(str),CHAR_LENGTH(str),CHARACTER_LENGTH(str)
6.合并多个字符串,或者表中的多个字段
CONCAT(str1,str2,…)
select CONCAT('name','pwd') as username from ipark_app_user iau;
其他常用的函数
1.时间函数
SELECT NOW() 'now方式',CURRENT_TIMESTAMP() 'timestamp方式',
CURRENT_DATE() 'currentdate方式',LOCALTIME() 'localtime方式',
SYSDATE() 'systemdate方式';
2.时间格式转换
select DATE_FORMAT(NOW(),'%Y-%m-%d %h:%m:%s') as time;
返回------2021-07-26 02:07:16
3.mysql 用sql语句自动生成32位id
SELECT REPLACE(UUID(),'-','') AS id;
4.条件函数
(1)IF(expr,v1,v2) 如果表达式expr成立,返回结果v1;否则,返回结果v2
(2)IFNULL(v1,v2) 如果v1不为空,就显示v1的值,否则就显示v2
(3)CASE WHEN expr1 THEN v1 [WHEN expr2 THEN v2...] [ELSE vn] END CASE表示函数开始,END表示函数结束。如果表达式expr1成立,返回v1.如果expr2成立,返回v2.最后遇到ELSE时返回vn
5.group_concat函数
类似这种相同分类对应多个项目的 ,查找type和object的对应关系
select evaluate_type, group_concat(distinct evaluate_object) as evaluate_object from(表table)as t group by evaluate_type
结果
5.向上取整/向下取整
SELECT ceil(9.8);--返回10
SELECT floor(9.8);--返回9
6.直接截取,对x保留y位精度,当y=-1时精度达到最小值。
SELECT truncate(9.8696896,2);--返回9.86
7.四舍五入函数
SELECT format(89.96868,2);--返回89.97
SELECT round(9.8696896,4);--返回9.8697
8.计算函数count、sum、AVG
9.四舍五入保留小数round
round(值,1) -- 对值,保留一位小数
10.小数点后面以0结尾,去0操作
0+CAST(ROUND(2.22,2) AS CHAR)