繁体   English   中英

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

[英]How to get DATE column in SQL Server in mm/dd/yyyy format and export it to CSV

我需要以 mm/dd/yyyy 格式将数据存储在 SQL Server 的列中。 在我看来,我将使用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 格式。 我尝试使用CONVERTINSERT插入此表,但日期没有转换。 有没有办法直接在 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/201507/15/2014等值是否在 csv 数据文件中?

如果是这种情况,我认为您有两个选择。

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

  2. 或者,只需更改 CSV 输入文件并在导入之前重新格式化 datetime 列,使用 Notepad++ CSV Lint 插件或 Python 之类的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM