我正嘗試在SQL Server中執行正則表達式以匹配MM/YY
格式的VARCHAR
字符串。Microsoft SQL Server中mm/yy的正則表達式
我已經試過
WHERE ExpiryDate LIKE '[0-9][0-9]/[0-9][0-9]'
,讓不正確的日期一樣30/18
。
我也試過
WHERE ExpiryDate LIKE '0[1-9]|1[012]/[0-3][0-9]'
但SQL Server不接受管道分開,OR運算符。
我需要一個月的匹配01 - 12
我可以做
WHERE ExpiryDate LIKE '0[1-9]/[0-9][0-9]'
OR ExpiryDate LIKE '10/[0-9][0-9]'
OR ExpiryDate LIKE '11/[0-9][0-9]'
OR ExpiryDate LIKE '12/[0-9][0-9]'
但我寧願它是正則表達式中。
在此先感謝您的幫助。
您可以嘗試將字符串解析爲日期,然後使用日期函數 –
_「我希望它在正則表達式內_」使用正確的工具。 Date函數和cast可以驗證日期。我知道使用電錘鑽很酷,但在面對釘子時使用常規錘。 –
您無法將30/18轉換爲日期,因此我試圖將其過濾爲有效的MM/YY格式,以便我可以將它們轉換爲日期並根據它們進行查詢。 –