2012-04-27 53 views
2

我对特定的列有特殊的选择标准,并且需要定期的epxression。 例如:A123456,S008942 此ID应该只被选中 第一个字母是字母,后面的6个字母是数字。 它总是像7个字母(1A字符+ 6NumericDigits)在Sql Server中的正则表达式

任何帮助表示赞赏。 感谢

+0

请记住接受解决您的问题的答案。 http://stackoverflow.com/faq#howtoask – 2012-04-27 06:19:15

回答

0

这是你的模式:[A-Z]\d{6}
如果首字母小写模式是:[A-Za-z]\d{6}

[A-Z]意味着一个大写字母。
[A-Za-z]表示大写或小写字母。
\d表示一个数字。它意味着正好6次之后。 (所以\d{6}意味着6位)

+0

感谢您的回应Ademiban ...但它不工作在SQL查询SELECT * FROM tableUserdata WHERE ID像'[AZ] \ d {6}' – Pratik 2012-04-27 05:47:41

+0

你确定。 ..?尝试把^放在开头,$放在最后:'^ [A-Z] \ d {6} $' – shift66 2012-04-27 05:51:58

+0

这也不起作用。在执行此查询之前,我需要做的任何转换 – Pratik 2012-04-27 05:55:17

1

试试这个,也许它可以帮助

"^[A-Z]{1}[0-9]{6}$" 
+0

明确地完成{1}没有必要。 – shift66 2012-04-27 05:51:03

+0

它只针对一个字母定义 – 2012-04-27 05:51:53

+0

[A-Z]已经是一个字母了。 – shift66 2012-04-27 05:52:28