concat和subString

 #CONCAT(str1,str2,…)  
 #返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
 #如果所有参数均为非二进制字符串,则结果为非二进制字符串。 
 #如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
 #一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
#concat连接多个字符串
SELECT CONCAT('10');
SELECT CONCAT('11','22','33');
#连接字符时只要一个为null就为null
SELECT CONCAT('11','22',NULL);
#concat_ws 函数
CONCAT_WS(SEPARATOR,str1,str2,...)
#CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
#,号分割
CONCAT_WS(',','11','22','33')
#concat_ws函数在执行的时候,不会因为NULL值而返回NULL
CONCAT_WS(';','11','22',NULL)
#得到 11;22
#group_concat 函数
#group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']),,,逗号分隔(默认)
SELECT id,GROUP_CONCAT(`name`) FROM tablt_name GROUP BY id;#以id分组,把name字段的值打印在一行
SELECT id,GROUP_CONCAT(DISTINCT ·name·) FROM tablt_name GROUP BY id;  #以id分组,把不同的name字段的值打印在一行
SELECT id,GROUP_CONCAT(`name` ORDER BY `name` DESC) FROM tablt_name GROUP BY id;

#repeat()函数
SELECT REPEAT('ab',2);#用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数
#mysql向表中某字段后追加一段字符串:
UPDATE table_name SET FIELD=CONCAT(`field`,'',str)
#mysql 向表中某字段前加字符串
UPDATE table_name SET FIELD=CONCAT('str',`field`)

#subString 字符串截取函数
leftstr, length) #说明:left(被截取字段,截取长度) 
SELECT LEFT(content,200) AS abstract FROM my_content_t 

#rightstr, length) #说明:right(被截取字段,截取长度) 
#截取字符串 
substringstr, pos) #说明:substring(被截取字段,从第几位开始截取) 
substringstr, pos, length) #substring(被截取字段,从第几位开始截取,截取长度) 

substring_index(str,delim,count) #说明:substring_index(被截取字段,关键字,关键字出现的次数) 

猜你喜欢

转载自www.cnblogs.com/oceanran/p/12120302.html