SQL Server:比较变量

时间:2013-12-27 17:15:13

标签: sql-server stored-procedures

我对存储过程很新,我必须与两个日期进行比较,以确定它们是否相等。

如果日期相同,我只需返回其中一个,否则,我必须返回两个日期。

使用此代码,返回将变为整数,我无法识别。

这是代码:

CASE
  WHEN gru.date1 = gru.date2 THEN 
    CONVERT (CHAR(11), gru.date2,103)
  ELSE
    CONVERT(CHAR(10), gru.date1,103) + CHAR(32)+CHAR(97)+CHAR(32) + CONVERT(CHAR(11), gru.date2,103)
END date'

1 个答案:

答案 0 :(得分:0)

日期正在作为数字进行交互并被添加。你需要将一个空白连接到连接的开头,以便将它们正确地标识为字符串:

CASE
  WHEN gru.date1 = gru.date2 THEN 
    CONVERT (CHAR(11), gru.date2,103)
  ELSE
    ''+ CONVERT(CHAR(10), gru.date1,103) + CHAR(32)+CHAR(97)+CHAR(32) + CONVERT(CHAR(11), gru.date2,103)
END date

http://sqlfiddle.com/#!6/1e8bd/7