Mysql单行函数
一、字符控制函数
LOWER(str):将字母转成小写
SELECT LOWER(“HELLO WORLD”);
UPPER(str):将字母转成大写
SELECT UPPER('hello world');
CONCAT(str1,str2,…):拼接字符串
SELECT CONCAT('小明','年龄',18);
SUBSTR(str1,index,index2):拼接字符串
SELECT SUBSTR("hello world",1,5);
LENGTH(str):获取字符串长度
SELECT LENGTH("hello");
INSTR(str,target):获取指定字符串的索引
SELECT INSTR("hello world",'w');
LPAD(str,len,str2):在str左边填充字符串
SELECT LPAD("00000",7,"11");
RPAD(str,len,str2):在str右边填充字符串
SELECT RPAD("00000",7,"11");
TRIM(str):去除前后空格
SELECT TRIM(" hello world ");
REPLACE(str,from_str,to_str):替换指定字符串
SELECT REPLACE("abcdef","ab","hh");
二、数字函数
ROUND(X,D): 四舍五入
SELECT ROUND(45.3666,2);
SELECT ROUND(45.33333,2);
TRUNCATE(X,D):截断指定小数点位数
SELECT TRUNCATE(45.3658,2);
MOD(n,m):求余数
SELECT MOD(1600,300);
now():获取当前日期
SELECT NOW();
str_to_date(str,format):将日期格式的字符串转成指定日期格式
SELECT STR_TO_DATE("05-16-2021","%m-%d-%Y");
DATE_FORMAT(date,format):将日期转成字符串
SELECT DATE_FORMAT('2021-05-16 13:28:26','%Y年-%m月-%d日 %H:%m:%s');
三、条件表达式
if函数:在sql中使用if-then-else逻辑
SELECT IF(NAME='小强','螳螂药',CONCAT(NAME,'吃饭了')) FROM test;
表数据:
结果:
case函数
格式:
CASE EXPR WHEN comparision_expr1 THEN return_expr1
[when comparision_expr2 THEN return_expr2
when comparision_expr3 THEN return_expr3
ELSE else_expr]
end
示例:
SELECT AGE,NAME,
CASE age WHEN 100 THEN CONCAT('我是',NAME,address)
WHEN 20 THEN age*2
ELSE AGE END
FROM TEST;