2009-02-26 77 views
3

是否存在一种简单的方法将存储在var-yy格式的日期(例如“Feb-09”)中的日期转换为日期时间,值为null。将格式为mon-yy的varchar转换为SQL服务器中的datetime

我目前使用字符串操作与case语句相结合,但它很麻烦。

+0

什么样的无效值可以存在? – Guffa 2009-02-26 16:13:48

+0

真的是各种垃圾。尽管我可以很容易地过滤出无效的条目。一个例子是“2007年11月恢复”...... – 2009-02-26 16:20:42

+0

我会给你关于作为DateTime存储在第一位的惯常咆哮,但我怀疑你已经知道这是你的前任做错了。 – 2009-02-26 16:29:15

回答

9

有关有效值你可以把它一天,它是一个完整的日期:

convert(datetime,'01-' + 'Feb-09',120) 
0
CONVERT(DATETIME, "Feb-09", 64, 7) 
2

这将做到这一点。

SELECT convert(datetime,'01-' + 'Feb-09',120)