我在这样的数据库中有一条记录:1K-05,在名为“ DocXmtlNum”的列中

尝试获取它的SQL语句如下:

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


但是,它不获取任何记录。我假设“#?[A-Z] *”部分表示要获取以数字开头,后跟一个字母以及其他任何字符的记录。这怎么了我将如何编写正则表达式以获取由数字,字母,字符组成的记录?

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

最佳答案

这是你想要的吗?

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


这检查:


可选数字
一封信
连字符
至少再增加一个字符

10-08 01:23