我有两种模式:
minNumOfTransmitters
和
'nnn-nn-nnnn'
其中n =总是一个数字。
如何将第一个标记为1,将第二个标记为2?很难搞清楚如何表达。谢谢。
答案 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