2013-04-02 26 views
0

我需要創建一個函數來檢查日期字符串是否以4位格式輸入年份,例如, 1-1-45會返回0,1-1-2045會返回1.如何檢查日期字符串是以4位數格式輸入年份? SQL Server 2008

有人可以給我一種方法來做到這一點嗎?提前致謝。

+0

是1-1-45唯一的輸入格式需要驗證嗎? – ljh

+1

爲什麼讓人們輸入自由文本日期?你不應該首先接受任意字符串。使用日曆控件或下拉菜單,然後您可以使用像YYYYMMDD這樣的合理格式。如果你允許'1-4-2045'是1月4日或4月1日? –

+0

好的,或者,您可以給我一種方法來檢查是否以YYYY-MM-DD格式輸入日期嗎? – user2236604

回答

0

你想要這個嗎?

where right(val, 4) like '[0-9][0-9][0-9][0-9]' 
0

SQL Server支持ISNUMERIC()

SELECT ISNUMERIC(RIGHT('1-1-2045', 4)) 

爲什麼不使用日期選擇器,或者允許您選擇日期的任何其他控件?

+0

謝謝!是的,我提出了一個日期選擇器,但用戶希望能夠以文本的形式輸入日期......但它只接受4位數字的年份。 – user2236604

+0

現在有什麼問題? –

+0

J W,您的查詢將在沒有四位數年份的情況下爲多種格式返回1。例如,它接受'1-1-045'和'3.4.12' –

相關問題