2017-03-08 86 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