MySQL处理表字段小技巧

时间:2021-04-16 14:53:59

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