2014-11-21 56 views
-5

您可以请帮助我如何在sql server中显示日期。即使没有数据显示日期

我的表有数据:

DATE_NOW: 
11/18/2014 
11/19/2014 
11/20/2014 

我想显示2014年11月21日

我的代码是这样的:

SELECT 
     CASE WHEN DATE_NOW = '11/21/2014' 
     THEN ORDATE 
     ELSE Convert(DATE, GETDATE()) 
     END AS DATE_NOW 
FROM TABLE_NAME 
WHERE DATE_NOW = '11/21/2014' 

,但它不显示任何值。

+1

什么是ORDATE?此外,如果您没有输入日期'11/21/2014',这将不起作用。 – 2014-11-21 03:05:53

+0

是否要显示所有日期和一天的额外日期,还是仅显示现有日期的一天额外日期? – radar 2014-11-21 03:08:16

+0

这个问题不能理解。不要让我们猜测要清楚你在问什么! – 2014-11-21 03:10:24

回答

0

你可以检查核心值像。

首先检查数字值,如果没问题,然后硬核与日期值和 最后更改与ORDATE

这个逻辑提示数据有什么问题。

SELECT 
     CASE WHEN DATE_NOW = '11/21/2014' 
      THEN 0 --'11/21/2014' --ORDATE 
      ELSE 1 --Convert(DATE, GETDATE()) 
     END AS DATE_NOW 
FROM TABLE_NAME 
WHERE DATE_NOW = '11/21/2014' 

即使您可以使用*并检查数据。

SELECT *, 
     CASE WHEN DATE_NOW = '11/21/2014' 
      THEN 0 --'11/21/2014' --ORDATE 
      ELSE 1 --Convert(DATE, GETDATE()) 
     END AS DATE_NOW 
FROM TABLE_NAME 
WHERE DATE_NOW = '11/21/2014' 
相关问题