1.LOCATE
类似indexOf函数
LOCATE(substr, str), LOCATE(substr, str, pos)
第一个语法返回substr在字符串str的第一个出现的位置。
第二个语法返回字符串substr在字符串str,从pos处开始的第一次出现的位置。如果substr不在str中,则返回值为0
2.CONCAT
CONCAT(str1,str2,…)
拼接函数,用于将多个字符串连接成一个字符串,返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
3.LENGTH/CHAR_LENGTH
用来获取字符串长度的函数
a>、length(): 单位是字节,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。gbk编码下,一个汉字两个字节,一个数字或字母一个字节。
b>、char_length():单位为字符,不管汉字还是数字或者是字母都算是一个字符
所以,length()<>char_length(),可以用来检验是否含有中文字符。
4.CAST
类型转换函数
语法:CAST( value AS type )
SELECT CAST(1995 AS CHAR) as result
运行结果:"1995"
SELECT CAST('2019-08-29 16:50:21' as date) as result
运行结果:2019-08-29
SELECT CAST('2019-08-29 16:50:21' as DATETIME) as result
运行结果:2019-08-29 16:50:21
SELECT CAST('2019-08-29 16:50:21' as TIME) as result
运行结果:16:50:21
SELECT CAST(220.23211231 AS DECIMAL(10, 3)) AS result
运行结果:220.232
5.GROUP_CONCAT
group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )
拼接函数,将多行数据合并到一行输出。
举例:
group_concat(num) #把所有num字段的值拼接起来,默认用逗号作为分隔符
group_concat(
DISTINCT
num
Separator
‘;’) #把所有num字段不同的值拼接起来,用
分号
作为分隔符
group_concat(
DISTINCT
num
order by
num
desc
Separator
‘;’) #把所有num字段不同的值
按倒序排序
拼接起来,用
分号
作为分隔符
6.STR_TO_DATE
- dateStr :字符串日期表达式
- pattern :匹配模式
字符串转日期
select str_to_date('2017/12/23','%Y/%m/%d');
-- 结果 2017-12-23