【问题标题】:Need to tackle date type '1900-01-01 00:00:00.000' in Sql需要在 Sql 中处理日期类型“1900-01-01 00:00:00.000”
【发布时间】:2014-04-10 15:26:38
【问题描述】:

我正在尝试使用 Sql 中的空字符串处理错误的日期类型“1900-01-01 00:00:00.000”,然后我想返回更正后的日期或变量中的空字符串。我尝试了以下并想检查是否有更好的方法来做同样的事情。请帮忙。

注意:我的查询一次只返回一个日期值。那么,查询值刷新时会不会有问题。

declare @v_date datetime

select @v_date = (select Date_Released from dbo.Tbl_Workstream where Loan_Number = 'XXX')

SELECT v = CASE WHEN @v_date = '1900-01-01 00:00:00.000'

                              THEN ''

                              ELSE CONVERT(CHAR(23), @v_date, 21)

END FROM @v_date;

再次感谢。

【问题讨论】:

    标签: sql-server tsql date


    【解决方案1】:

    如果希望结果能够显示空字符串,则需要使用其中一种字符串类型(char、varchar 等)

    declare @v_date char(23);
    select @v_date = CONVERT(char(23), 
              (select Date_Released from dbo.Tbl_Workstream where Loan_Number = 'XXX'), 21);
    select case when @v_date = '1900-01-01 00:00:00.000' THEN '' ELSE @v_Date END as V;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多