我與日期有問題。問題是,即使格式不同,ISDATE也會給我有效的日期。但是,我想要做的是INSERT NULL是任何未格式化的日期字段:8/28/2013或08/28/2013如何檢查特定的日期格式?
這是供國際使用。僅適用於美國。這意味着:2013年8月8日將意味着2011年8月8日。並將於2011年8月8日施展。
我不知道如何檢查格式。當我可以做整個案例時。
我試圖玩弄這樣的:目前在列
DECLARE @d DATETIME = '10/01/2011';
SELECT CASE WHEN @d != FORMAT (@d, 'yyyy/MM/dd', 'en-US') THEN @d ELSE NULL END
的日期格式,像這樣。 8/28/2013或08/28/2013 如果格式正確,我會進行轉換。
謝謝!
我假設列_is not_一個'date' /'datetime'列?否則這個問題將是沒有意義的,因爲格式實際上並沒有保留,只是它背後的信息。 (或者你正在研究如何將SQL默認格式轉換爲字符串/顯示時的列格式) –
這是一個日期,但APP驗證是不存在的,所以日期輸入如下:0808/21/20133,想想更糟糕的條目。我正在清理一些歷史數據。 – Asynchronous
您如何確定08/09/2013是否正確?是2013年9月8日還是2013年8月9日? –