我与日期有问题。问题是,即使格式不同,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日? –