如何获取SQL Server中mm/dd/yyyy格式的DATE列并导出为CSV格式



我需要在SQL Server的mm/dd/yyyy格式的列中存储数据。在我看来,我会用DATE数据类型创建这个列,并使用CONVERT()将其转换为mm/dd/yyyy格式

CREATE TABLE [dbo].TempDate 
(
CompanyID nvarchar (512) NULL,
VacDate date NULL,
OffDate date NULL,
Duration time NULL
)
SELECT CONVERT(varchar(10), VacDate, 10) AS "StartDate"
FROM [dbo].TempDate;

没有问题,我得到的日期是mm/dd/yyyy格式。问题是,我需要将这个表格导入CSV格式表格中的日期是标准的yyyy-mm-dd这就是CSV导入的内容。我需要在CSV日期是在mm/dd/yyyy格式。我试图将INSERTCONVERT一起放入这个表中,但是日期不能转换。是否有一种方法可以在mm/dd/yyyy列中存储日期?像在Oracle中一样,可以用特定的格式定义列。

谢谢你的建议。

虽然我认为您的重点应该放在获取导出数据的查询上,但如果您确实需要在数据库中使用它,您可以添加一个计算列,显示数据的字符串表示形式,并将该列用于导出。

Alter table TempDate
Add VacDataComputed As CONVERT(varchar(10), VacDate, 10)
编辑:如前所述,您使用10作为样式参数,这将呈现mm-dd-yyyy。如果您希望它是mm/dd/yyyy格式,请使用101。你可以在这里看到更多的样式格式。

你的问题有点不清楚。您的意思是CSV文件包含MM/dd/yyyy格式,并且希望将其作为日期时间值导入SQL表中吗?所以值像12/31/2015,07/15/2014等是在csv数据文件?

如果是这样的话,我认为你有两个选择。

  1. 导入datetime列作为字符串值,然后添加一个具有datetime数据类型的新列,并使用字符串操作转换值

  2. 或者,在导入之前更改CSV输入文件并重新格式化datetime列,使用notepad++ CSV Lint插件或Python或其他

相关内容

  • 没有找到相关文章

最新更新