我想删除所有包含col2中非数字值的行。我不知道如何在sql中实现这一点。
Col1 Col2 Col3
word1 123 Code
word2 124 Code
word3 tttt code
Drop * row from db.Table
where col2 Value is not numeric;
我希望table看起来像这样:
Col1 Col2 Col3
word1 123 Code
word2 124 Code
3条答案
按热度按时间lzfw57am1#
在ansi标准sql中,您可以非常接近以下内容:
大多数数据库都支持更精确的比较方法。例如,在sql server中,您可以执行以下操作:
在oracle中:
在mysql中:
lf5gs5x22#
你不需要使用正则表达式,也不需要制作你的专栏
TEXT
数据类型可能导致各种存储和i/o问题。只是使用
==============================================================
sql小提琴
mysql 5.6初始架构设置:
删除前:
删除语句
删除后:
编辑:我改变了主意
DELETE
对账单NULL
中的值Col2
.ki1q1bka3#
你可以试着用
regexp
关键字[^0-9]+
[^0-9]+
将获取包含非数值的值。sqlfiddle:http://sqlfiddle.com/#!9/3717d/1号