【发布时间】:2014-03-05 04:12:24
【问题描述】:
我有一个这样的选择语句
select x, y , z from table a
where CAST( CAST(DATEColumn AS VARCHAR) AS DATE) between
case when a.columnx = '1900-01-01' then CAST( CAST(DATEColumn AS VARCHAR) AS DATE) else c.columnx end
and cast( c.CustomerShipToRecTrmDt as date)
为什么这个case语句不起作用 而如果我对日期进行硬编码,case 语句是否有效?
【问题讨论】:
-
请显示两个示例。还有一些原始数据。实际上为什么不创建一个简单的sqlfiddle.com 以便人们可以看到数据和查询
-
该查询无效。没有 END 和额外的 CAST 是怎么回事?请修复您的帖子以获得更多帮助。而且你应该有一个 ELSE 在案例中。