Mysql中的常用函数

  • Post author:
  • Post category:mysql


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



版权声明:本文为qq_21208151原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。