如何在SQL Server中检查字符串模式?

时间:2017-05-23 22:16:12

标签: sql-server

我有两种模式:

minNumOfTransmitters

'nnn-nn-nnnn'

其中n =总是一个数字。

如何将第一个标记为1,将第二个标记为2?很难搞清楚如何表达。谢谢。

1 个答案:

答案 0 :(得分:1)

好吧,你可以使用like,但是如果你想检查完整的模式(你可能应该),它会变得混乱:

 SELECT CASE 
        WHEN pattern LIKE '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]' THEN 1
        WHEN pattern LIKE '[0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9]' THEN 2
        END As patternType

你可以,如果你只想要这两种模式,只需使用charindex:

SELECT CASE 
       WHEN charindex('-', pattern) = 4 THEN 1
       ELSE 2
       END As patternType