2017-03-08 35 views
0

我有这样一个数据库中的记录:1K-05,在一个名为“DocXmtlNum”SQL条件:使用正则表达式的格式为“像”

的SQL语句列设法得到它是这样的:

"SELECT DISTINCT DocXmtlNum FROM table1 WHERE DocXmtlNum Like '#?[A-Z]*' ORDER BY DocXmtlNum Desc" 

但是,它并没有抓住任何记录。我假设“#?[A-Z] *”部分是说它想要获取以数字开头的记录,后跟一个字母,后面跟着任何其他字符。这有什么问题?我如何编写正则表达式来获得一个数字后跟一个字母的记录,然后是任何字符?

注意:SQL语句已从VB6自动转换为vb.net4,因此引入了错误。

回答

1

这是你想要的吗?

WHERE DocXmtlNum REGEXP '^[0-9]?[A-Z]-.+$' 

此检查:

  • 一个可选的数字
  • 连字符
  • 至少一个或多个字符
+0

好,谢谢!什么?意思?在vb6的原始声明中,#是什么意思? – mjpablo23

+0

我不知道vb6模式的含义。 '?'表示一个或大部分前面的元素(在这种情况下是一个数字)。我可能会猜测,在原始代码中,'#'是一个数字。 –

+0

好酷,感谢您的帮助! – mjpablo23