SQL Server:用于存储日期的NVARCHAR列
我有一个需要以CSV格式输出的查询 我说没问题,但后来发生了: 有两列(from和to date)是日期类型,但我试图将它们存储为SQL Server:用于存储日期的NVARCHAR列,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,我有一个需要以CSV格式输出的查询 我说没问题,但后来发生了: 有两列(from和to date)是日期类型,但我试图将它们存储为nvarchar或varchar(两者都尝试过)。这是为了能够在摘录中插入列标题 我尝试了两个CONVERT,CAST,STUFF来强制日期采用YYYY-MM-DD格式,但都没有效果 目前的格式为:2014年1月1日12:00AM 在类似的主题中,我已经尝试了几乎所有关于堆栈溢出的内容,但没有任何东西对我有效 我也会很高兴,如果可以有一个替代的列名,因为我没有尝试过很
nvarchar
或varchar
(两者都尝试过)。这是为了能够在摘录中插入列标题
我尝试了两个CONVERT
,CAST
,STUFF
来强制日期采用YYYY-MM-DD
格式,但都没有效果
目前的格式为:2014年1月1日12:00AM
在类似的主题中,我已经尝试了几乎所有关于堆栈溢出的内容,但没有任何东西对我有效
我也会很高兴,如果可以有一个替代的列名,因为我没有尝试过很多
目前正在使用:
SELECT 'Column1', 'Column2', 'Column3'
UNION ALL
SELECT * FROM [Database].[dbo].Table
我想您需要
convert(varchar(10),col,120)
它将yyyy-mm-dd hh:mi:ss(24h)
的日期格式截断为yyy-mm-dd
有关更多详细信息,请参阅
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
必须将列更改为
date
类型。后来,这起作用了,谢谢。