Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:用于存储日期的NVARCHAR列_Sql_Sql Server 2008_Tsql - Fatal编程技术网

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

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 在类似的主题中,我已经尝试了几乎所有关于堆栈溢出的内容,但没有任何东西对我有效 我也会很高兴,如果可以有一个替代的列名,因为我没有尝试过很

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

我说没问题,但后来发生了:

有两列(from和to date)是日期类型,但我试图将它们存储为
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
类型。后来,这起作用了,谢谢。