2010-11-18 23 views
0

是否可以在varchar列上使用类似DATEADD()或DATEPART()的函数,该列可以包含或不包含看起来像日期时间的东西?在具有不同类型的列上使用日期函数

目前我正在尝试通过使用WHERE子句来选择只有在此列中具有日期时间值并获得通常的算术溢出错误的行。

我可以执行某种操作来提取日期时间值并将它们放在临时表中,但我对此很好奇。

SELECT DATEPART(wk, DateCreated) FROM tblOrders WHERE colType = 'datetime' 

不要 担心表的设计,它的 的那样糟糕。

回答

6

不要担心桌子的设计,它没有那么糟糕。

似乎不太可能,但...

使用IsDate

+0

小冲头和一个合适的回答,在短短三线... :-) – 2010-11-18 22:56:19

+0

我从来没有想过用则IsDate的()。但是,我仍然无法在列的WHERE子句中使用DATEPART()。无论如何,结束临时餐桌路线是因为,事实证明,餐桌设计比我最初意识到的要难得多。今天创建报告之后,还有一些挫折之后编辑了我的帖子。 – Ciaran 2010-11-19 22:52:14

相关问题