我需要一种方法来检查变量的字符串内容是否符合某种格式。我需要的格式的一个例子是52M-14Jun04-1,即11A-11Aaa11-1。
偶尔也有字符串代替第一个字母包含星号,即11 * 11Aaa11-1。
非常感谢, 延
答案 0 :(得分:1)
以下是我使用LIKE
提出的建议:
DECLARE @Input varchar(20) = '52M-14Jun04-1'
DECLARE @Result varchar(20)
SELECT @Result =
(CASE WHEN
@Input LIKE '[0-9][0-9][A-Z*]-[0-9][0-9][A-Z][a-z][a-z][0-9][0-9]-[0-9]'
THEN
'Matches'
ELSE
'Does not match'
END)
对模式的解释:
[0-9]
0到9之间的任何数字[A-Z*]
任何字符A到Z(大写)或* -
连字符[a-z]
任何字符a到z(小写)