【发布时间】:2016-09-20 14:53:12
【问题描述】:
我正在尝试查看列值是否以整数开头。该列假设为 8 位,并且是整数。我有一个以字母开头的值,由于某种原因我不能用它来挑选行。我正在尝试将该值设置为一个空白,但该行没有被提取出来。
我尝试过使用 LIKE 和 REGEXP,但它们不起作用,或者我使用它的方式失败了。
编辑:当我使用 REGEXP 时出现异常无法解析 SQL 查询。当我转换为 int 时,它会给出数据转换错误,因为该值以字母开头。
示例 1:
CASE
WHEN Column LIKE '^[0-9]' THEN Column = ''
END
示例 2:
CASE
WHEN Column REGEXP '^[0-9]' THEN Column = ''
END
【问题讨论】:
-
LIKE 不使用正则表达式运算符,所以第一个应该失败
-
正则表达式 '^[0-9]+$';
-
另外,usnig
CAST怎么样,以便将数据类型转换为unsigned,它将强制列的输出为整数,如果它以数字开头,它将为 null 或零(我不确定是哪一个,因此这只是一个评论)