SQL 其中列包含由 11 个随机字符分隔的字符串,然后是字符串

SQL Where Column Contains String separated by 11 random characters and then string

我需要 select 基于以下条件的列:

如果某列包含字符串 'Alerting',后跟 11 个随机字符(包括空格),然后是 'Hold'?

我试过:

SELECT * FROM INTERACTIONSUMMARY
WHERE CALLEVENTLOG LIKE 'Alerting___________Hold';

您可以使用以下子字符串的组合或在单词后放置通配符来满足您的条件。

SELECT SUBSTRING('Alerting___________Hold', 0, 9) -- Alerting
SELECT SUBSTRING('Alerting___________Hold', 20, 4) -- Hold

SELECT * 
FROM INTERACTIONSUMMARY
WHERE CALLEVENTLOG LIKE ('Alerting%') AND CALLEVENTLOG LIKE ('%Hold')`

通配符 (%) 在外面,下划线表示 11 个地方。请查看 documentation 了解更多信息。

DECLARE @tbl TABLE(
    val VARCHAR(200)
)
INSERT INTO @tbl SELECT 'Super duper test Alerting12345678912Hold'

SELECT * FROM @tbl WHERE val LIKE '%Alerting___________Hold%'