SQL Server:用于存储日期的NVARCHAR列

时间:2014-09-09 11:20:06

标签: sql sql-server-2008 tsql

我有一个需要以CSV格式输出的查询。

我说没问题,但接下来会发生这种情况:

有两列(来自和迄今为止)是日期类型,但我尝试将它们存储为nvarcharvarchar(尝试过两者)。这是为了能够在提取中插入列标题。

我尝试了几个CONVERTCASTSTUFFYYYY-MM-DD的格式强制使用日期,但无济于事。

目前采用以下格式:Jan 1 2014 12:00AM

我已尝试过几乎所有我在Stack Overflow上发现的类似主题的内容,但没有任何内容对我有用。

如果列名可能有替代品,我也会很高兴,因为我没有经常尝试过那个。

目前正在使用:

SELECT 'Column1', 'Column2', 'Column3'
UNION ALL
SELECT * FROM [Database].[dbo].Table

1 个答案:

答案 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