如何在MySql中查询格式化数据

时间:2018-03-30 10:25:02

标签: mysql mysql-workbench sqlyog

如何在MYSQL中查询格式不正确的数据?

例如,如果我的表中有以下数据:

1.John Doe
2.john doe
3.JOHN DOE
4.joHn DoE.

我正在寻找一个会返回第2,3和4行的查询。

2 个答案:

答案 0 :(得分:0)

SELECT id,name FROM `Table1` 
WHERE `name` NOT REGEXP BINARY '([A-Z]{1,1}[a-z]+ [A-Z]{1,1}[a-z]+)$';

输出

id  name
2   john doe
3   JOHN DOE
4   joHn DoE.

现场演示

  

http://sqlfiddle.com/#!9/3092b3/75

答案 1 :(得分:0)

为了确保数据的完整性,最好将名称/姓氏/街道名称/地址等存储在单独的字段中,而不进行任何大小写。出于显示目的,您可以应用大写。这样你就可以省去一些麻烦,弄清楚John = john = jOhn。

运行以下内容以规范化值:

 UPDATE Table1 SET name = LOWER(name)