0

我想执行一个 SQL 查询,该查询从列中返回所有在第二个字母后包含连字符的数据。

基本上我有一列包含“BC-123456-1”形式的字符串,但在它们之间我有其他字符串,如 NULL(作为字符串而不是类型)和其他垃圾字符串

我目前的查询是

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND column IS NOT NULL

那么有什么方法可以过滤掉那些不符合我模式的数据吗?

4

2 回答 2

1

你可以试试这个查询

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND column IS NOT NULL AND 
column LIKE '__-%'

“__”下划线将允许任何 2 个字符后跟连字符,“%”将允许其后的任意数量的字符

于 2019-05-16T06:32:39.533 回答
1

您可以使用以下查询。

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND IFNULL(column,'') LIKE '__-%';

解释

1)IFNULL检查是否列,然后我已将空值替换为''

2)在like子句中,我保留了2个下划线__,下划线表示单个字符。所以我放了2个下划线。

于 2019-05-16T06:34:14.550 回答