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

时间:2017-07-27 19:19:10

标签: sql where

我需要根据以下条件选择一列:

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

我试过了:

SELECT * FROM INTERACTIONSUMMARY
WHERE CALLEVENTLOG LIKE 'Alerting___________Hold';

2 个答案:

答案 0 :(得分:1)

您可以使用下面的子字符串组合,或在该字词后面放置通配符来处理您的情况。

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')`

答案 1 :(得分:0)

外部的通配符(%)和11个地方的下划线。有关其他信息,请查看documentation

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

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