mysql一些函数总结

1.replace()函数

可用此函数去掉字段中存在的空格

replace(object,search,replace)//把object字段中出现search的全部替换为replace

//将table_xxx表中description字段的空格全部替换掉,所以不只是清除一个空格

update `table_xxx` set `description`=replace(`description`,' ','');

2.LENGTH(str)与CHAR_LENGTH(str)函数

LENGTH(str): 返回字符串str的字节长度   注意:一个汉字为3字节

CHAR_LENGTH(str):返回字符串的长度, 多字节字符算作单个字符.

3.trim()函数

mysql> SELECT TRIM('  bar   ');                     --删除首尾空格
        -> 'bar'
mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');   --删除指定的首字符 x 
        -> 'barxxx'
mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');      --删除指定的首尾字符 x
        -> 'bar'
mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');  --删除指定的尾字符 x
        -> 'barx'

4.REGEXP 正则函数,具体用法不总结了,查资料吧

5.substring_index(str,delim,count)

      str:要处理的字符串

      delim:分隔符

      count:计数

例子:str=www.baidu.com

      substring_index(str,'.',1)

      结果是:www

      substring_index(str,'.',2)

      结果是:www.baidu

      也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容

      相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:

      substring_index(str,'.',-2)

      结果为:baidu.com

     有人会为,如果我呀中间的的baidu怎么办?

     很简单的,两个方向:

      从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:

  substring_index(substring_index(str,'.',-2),‘.’,1);

这部分摘自:https://www.cnblogs.com/mqxs/p/7380933.html

利用substring_index还可以将行转列


SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('1,2,3,4,5,6',',',help_topic_id+1),',',-1) AS Id
 
FROM mysql.help_topic
 
WHERE help_topic_id<(LENGTH('1,2,3,4,5,6')-LENGTH(REPLACE('1,2,3,4,5,6',',',''))+1);

6.CAST()和CONVERT()

MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:

CAST(value as type);
CONVERT(value, type);
就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

二进制,同带binary前缀的效果 : BINARY    
字符型,可带参数 : CHAR()     
日期 : DATE     
时间: TIME     
日期时间型 : DATETIME     
浮点数 : DECIMAL      
整数 : SIGNED     
无符号整数 : UNSIGNED

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值