- 获取字段中第一个字符的ASCII码值
SELECT ASCII("Asad") as strFirstAsciiNum;
- 或者字段长度
SELECT CHAR_LENGTH("adc") as strlenth;
SELECT CHARACTER_LENGTH("RUNOOB") AS LengthOfString;
- 合并多个字段值
SELECT CONCAT"-",name,"----",age) as newStr FROM tableName;
- 合并多个字段,第一个参数为分隔符
SELECT CONCAT_WS(separator,str1,str2,...)
SELECT CONCAT_WS("|",company_id,name,age) FROM tableName;
- 返回第一个字符在下面参数中的位置,判断条件为完全匹配
SELECT FIELD("d","da","dsa","d");
- 返回str 在strlist中的位置
SELECT FIND_IN_SET(str,strlist)
- 格式化数字
SELECT FORMAT(X,D)
SELECT FORMAT(125000.5634, 2);
SELECT FORMAT(32300, 2);
- 替换字符串,x表示开始位置,len表示长度,
SELECT INSTR(str,x,len,substr);
SELECT INSERT("google.com", 1, 6, "baidu");
- 字符substr 在str中出现的位置。
SELECT LOCATE(substr,str)
10.字符substr 在str中出现的位置,pos 为int, 如果substr在pos位置之后没有出现则返回 0
SELECT LOCATE(substr,str,pos)
SELECT LOCATE("str","substr",5)
11.大写字母转小写
SELECT LCASE("ASDss");
SELECT LOWER(str)
有两种方式
12.返回字符串 s 的前 n 个字符
SELECT LEFT(str,len)
SELECT LEFT("ads123",2);
13.去掉左边空格
SELECT LTRIM(" dasdas dd");
14.去掉右边的空格
SELECT RTRIM(" dasdas dd ");
15.反转字符串
SELECT REVERSE("adc");
- 获取字符串后N个字符
SELECT right("adbcdasd",2);
17.在字符串后面添加subStr 使字符串达到相应长度
SELECT RPAD("ad",3,"cd");
adc
SELECT RPAD("ad",4,"cd");
adcd
SELECT RPAD("ad",5,"cd");
adcdc
18.比较字符串str1,str2 如果两者内容和长度相等,则为0 ,如果str1 未被str2包含则返回-1,反之为1
SELECT STRCMP("abc","ab");
1
SELECT STRCMP("abc","abc");
0
SELECT STRCMP("abc","abcd")
-1
SELECT STRCMP("abcd","bcde")
-1
19.截取字符串,字符串非下标位置。
SELECT SUBSTR("RUNOOB", 2, 3);
- 获取delim 前后的字符,1 表示前面,-1 表示后面,0 是当前分隔符,为空。
SELECT SUBSTRING_INDEX(str,delim,count)
SELECT SUBSTRING_INDEX('acb','c',1); -- a
SELECT SUBSTRING_INDEX('acb','c',-1); -- b
SELECT SUBSTRING_INDEX('acb','c',0); -- 空
- 去除前后空格。
SELECT TRIM(" a d dd aa "); -- a d dd aa
- 增加时间
SELECT ADDDATE("2017-06-15", INTERVAL 30 DAY);
- 计算时间差
SELECT DATEDIFF('2019-02-01','2019-01-02');
- 返回英文格式的星期
SELECT DAYNAME('2019-03-10');
- 返回一个月的第几天
SELECT DAYOFMONTH('2019-03-10');
- case when 条件
SELECT *,
CASE sex
WHEN '0' THEN '男'
WHEN '1' THEN '女'
ELSE '其他...'
END
from `user`
- 类型转换
SELECT CAST("2018-01-29" AS DATE);