在mysql列中找到不正确的数据

时间:2019-06-19 20:31:18

标签: mysql

我有一个表,该表的列应该只有数字。但是,源数据可能具有不正确的数据,例如该列中的单词。

因此该列表示为VARCHAR,这样从CSV导入的数据不会崩溃。

我只需要在该列中找到单词,就可以创建一个更新,用正确的数字替换它们。

我开始创建排除某些数字的查询,但是查询的时间太长并且行太多。

SELECT ID,LinkedAccountId,Engagement FROM billing_info WHERE Engagement != '803000006530' AND Engagement != '807000000401' AND Engagement != '403000001956' AND Engagement != '28211756' AND Engagement != '807000000345' AND  Engagement != '800000026680' AND Engagement != '807000000351' AND Engagement != '807000000356' AND Engagement != '3000139146' AND Engagement != '807000000394' AND Engagement != '807000000041' AND Engagement != '808000000220' AND Engagement != '807000000396' AND Engagement != '807000000397' AND Engagement != '807000000340' AND Engagement != '807000000398' AND Engagement != '870000000403' AND Engagement != '28200598' AND Engagement != '403000002065' AND Engagement != '807000000398' AND Engagement != '2000549001' AND LinkedAccountId = '12345678919';

数据会像这样返回,我需要继续添加数字以排除:

| 3696724 | 123456789101    | 807000000381 |
| 3696817 | 123456789101    | 800000032764 |
| 3697085 | 123456789101    | complexity   |
| 3697088 | 123456789101    | complexity   |
| 3697089 | 123456789101    | complexity   |
| 3697100 | 123456789101    | complexity   |
| 3697107 | 123456789101    | complexity   |
| 3697115 | 123456789101    | complexity   |
| 3697137 | 123456789101    | complexity   |
| 3697155 | 123456789101    | complexity   |
| 3697194 | 123456789101    | complexity   |
| 3697205 | 123456789101    | 808000000239 |
| 3697236 | 123456789101    | complexity   |
+---------+-----------------+--------------+

我只能选择“复杂性”一词,但其中可能还有数百个我不知道的其他词。

如何创建一个查询,在此文本字段中选择仅单词?

0 个答案:

没有答案