我有一个日期时间字段存储在数据库中,如下所示:2016-06-30 00:00:00.000
我被要求将该格式转换为dd / mm / yyyy
我可以这样做
Convert(varchar,PRICE_TAB.F137,103) as 'SalesPriceStartDateGood',
这个列虽然包含NULLS,但它包含NULLS,我想什么都不返回。这将导出为CSV,因此我希望它在文件中找到该位置。
如何编写查询来说明转换为此格式,除非为null,那么什么都不给我?
答案 0 :(得分:2)
我在没有合并的情况下尝试了它,结果看起来像你想要的那样:
declare @test1 datetime = getdate()
declare @test2 datetime = null
select convert(varchar, @test1, 103) as test1,
convert(varchar, @test2, 103) as test2
这会返回
28/06/2016 null
如果你需要一个空字符串而不是这样做
select convert(varchar, @test1, 103) as test1,
isnull(convert(varchar, @test2, 103), '') as test2
这会返回
2016年6月28日''
你的桌子就是这样:
isnull(Convert(varchar,PRICE_TAB.F137,103), '') as SalesPriceStartDateGood'
答案 1 :(得分:-1)
其中一个选项......
SELECT CASE
WHEN PRICE_TAB.F137 IS NOT NULL
THEN CONVERT( VARCHAR, '2016-06-30')
END AS 'SalesPriceStartDateGood';