繁体   English   中英

转换日期格式以消除时间戳

[英]converting date format to eliminate time stamp

我有一个将日期和时间戳记在一起的表格,我只想以10个字符的输出显示日期。 我也想将字段01/01/1800中的某些日期作为空白返回。

当前表格格式为2013-06-28 00:00:00:000我只想要日期。 我使用的是RTRIM函数,但始终出错。

预先谢谢你

尝试这个:

SELECT CASE CONVERT(DATE, @MyValue) WHEN '01/01/1800' THEN NULL ELSE CONVERT(DATE, @MyValue) END

或者,如果您喜欢:

DECLARE @DateOnlyValue DATE
SET @DateOnlyValue = CONVERT(DATE, @MyValue)
SELECT CASE @DateOnlyValue WHEN '01/01/1800' THEN NULL ELSE @DateOnlyValue END

后者只是DRY er。

您可以这样做:

select (case when datecol > '1800-01-01' then convert(varchar(10), datecol, 121) end)

这会将值转换为格式为YYYY-MM-DD的字符串。

这对“空白”使用NULL 如果您想要一个空字符串:

select (case when datecol > '1800-01-01'
             then convert(varchar(10), datecol, 121)
             else ''
         end)

这还假定带有“ 1800-01-01”的值没有时间分量。 对于默认的极值,这似乎是合理的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM