如何将日期格式从Excel更改为SQL Server格式

如何将日期格式从Excel更改为SQL Server格式,sql,sql-server,excel,database,Sql,Sql Server,Excel,Database,我有文本文件中的日期数据,当我使用Excel读取此文本文件并将格式更改为日期格式时,值就会更改 示例数据 从文本文件: 30630 24470 28917 然后使用Excel更改为日期格式: 1983年11月10日 1966年12月29日 1979年3月3日 我想使用SQL Server将文本文件中的日期数据更改为Excel中包含的数据,但我找不到合适的查询,请帮助我在SQL Server中编写哪种查询?Excel日期数只是自1900-01-01以来的天数(为了简单起见,这是自1899-12-3

我有文本文件中的日期数据,当我使用Excel读取此文本文件并将格式更改为日期格式时,值就会更改

示例数据

从文本文件:

  • 30630
  • 24470
  • 28917
  • 然后使用Excel更改为日期格式:

  • 1983年11月10日
  • 1966年12月29日
  • 1979年3月3日

  • 我想使用SQL Server将文本文件中的日期数据更改为Excel中包含的数据,但我找不到合适的查询,请帮助我在SQL Server中编写哪种查询?

    Excel日期数只是自
    1900-01-01以来的天数(为了简单起见,这是自
    1899-12-31
    以来的天数)

    要反向(给定Excel日期序列,获取
    date
    值):

    SELECT
        dateValue, -- a `date`, `datetime`, `datetime2`, or `datetimeoffset` column.
        DATEDIFF( day, '1899-12-31', dateValue ) AS dateAsExcelSerial
    FROM
        yourTable
    
    SELECT
        excelSerial, -- an `int` column. For real/decimal/float YMMV.
        DATEADD( date, excelSerial, '1899-12-31' ) AS dateValue
    FROM
        yourTable