iloverain

MySQL利用正则函数替换值

 

update dateTest set date=REPLACE(date,\'/\',\'\') 
where date REGEXP \'\/\';

 

SQL语句讲解:
-- 将 所有date字段中包含‘/’的数据中的‘/’替换为‘ ’,即删除字段中的‘/’字符

 

update dateTest set date=REPLACE(date,SUBSTRING(date,INSTR(date,\'/\')),\'\') 
where date REGEXP \'\/\'
SQL之INSTR()函数
-- INSTR(date, \'/\')  返回为INT
Example:
INSTR(\'abcdf\',\'d\')   = 4
SQL之SUBSTRING()函数
-- SUBSTRING(\'abcdfg\',4 )  = abcd

 删除字段中的 回车符和换行符

UPDATE table SET table.col = REPLACE(REPLACE(table.col, CHAR(10), \'\'), CHAR(13),\'\');
删除表字段的空格:
同时清除前面,后面及中间的空格:
UPDATE et.yuangong SET xingming=TRIM(REPLACE(xingming,\' \',\'\'));
清除数据库et中yuangong表xingming字段中的空格(前面后面中间的空格)。
(1)mysql replace 函数
 
语法:replace(object,search,replace)
 
意思:把object中出现search的全部替换为replace
 
  1. update `news` set `content`=replace(`content`,\' \',\'\');//清除news表中content字段中的空格  

(2)mysql trim 函数
 
语法:trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
 
以下举例说明:
  1. mysql> SELECT TRIM(\' phpernote  \');  
  2. -> \'phpernote\'  
  1. mysql> SELECT TRIM(LEADING \'x\' FROM \'xxxphpernotexxx\');  
  2. -> \'phpernotexxx\'  
  1. mysql> SELECT TRIM(BOTH \'x\' FROM \'xxxphpernotexxx\');  
  2. -> \'phpernote\'  
  1. mysql> SELECT TRIM(TRAILING \'xyz\' FROM \'phpernotexxyz\');  
  2. -> \'phpernotex\'  

当我们在使用sql查询的时候,如果数据库中的这个字段的值含有空格(字符串内部,非首尾),或者我们查询的字符串中间有空格,而字段中没有空格。那么我们很有可能就什么都查不到。假如有下面的一张表:



参考文件:https://blog.csdn.net/alzhuzhu/article/details/50623231

分类:

技术点:

相关文章: