我有一个需要以CSV格式输出的查询。
我说没问题,但接下来会发生这种情况:
有两列(来自和迄今为止)是日期类型,但我尝试将它们存储为nvarchar
或varchar
(尝试过两者)。这是为了能够在提取中插入列标题。
我尝试了几个CONVERT
,CAST
,STUFF
以YYYY-MM-DD
的格式强制使用日期,但无济于事。
目前采用以下格式:Jan 1 2014 12:00AM
我已尝试过几乎所有我在Stack Overflow上发现的类似主题的内容,但没有任何内容对我有用。
如果列名可能有替代品,我也会很高兴,因为我没有经常尝试过那个。
目前正在使用:
SELECT 'Column1', 'Column2', 'Column3'
UNION ALL
SELECT * FROM [Database].[dbo].Table
答案 0 :(得分:1)
我认为您希望convert(varchar(10), col, 120)
将日期格式yyyy-mm-dd hh:mi:ss(24h)
截断为yyyy-mm-dd
有关详细信息,请参阅cast and convert
SELECT
'id' AS id
, 'date_from' AS date_from
, 'date_to' AS date_to
UNION ALL
SELECT
convert(varchar(10), id)
, convert(varchar(10), date_from, 120)
, convert(varchar(10), date_to, 120)
FROM [Database].[dbo].Table