Mysql 是否有一个SQL查询,它只能检索第二个字母后包含连字符的数据?

Mysql 是否有一个SQL查询,它只能检索第二个字母后包含连字符的数据?,mysql,sql,Mysql,Sql,我想执行一个SQL查询,从一列返回数据,所有这些数据在第二个字母后都包含连字符 基本上,我有一个列,其中包含“BC-123456-1”形式的字符串,但在它们之间我有其他字符串,如NULL(作为字符串而不是类型)和其他垃圾字符串 我现在的问题是 SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND column IS NOT NULL 有什么方法可以过滤掉那些不符合我模式的数据吗?你可以试试这个查询 SELECT DISTI

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

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

我现在的问题是

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND column IS NOT NULL
有什么方法可以过滤掉那些不符合我模式的数据吗?

你可以试试这个查询

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND column IS NOT NULL AND 
column LIKE '__-%'
“_uu”下划线将允许后跟连字符的任意2个字符,“%”将允许后跟任意数量的字符

您可以尝试此查询

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

“_uu”下划线将允许后跟连字符的任意2个字符,“%”将允许后跟任意数量的字符。您可以使用下面的查询

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

1)
IFNULL
检查列,然后我用
''


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

您可以使用下面的查询

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

1)
IFNULL
检查列,然后我用
''

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

子字符串(列,2,1)='-'
子字符串(列,2,1)='-'