[英]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.