sql-server - SQL Server - 从旧数据库转换短日期
问题描述
我有旧的 DBF 数据库,其中包含旧的 6 位格式的日期,例如291292
or150793
甚至010302
.
我将表导入 SQL Server,现在我需要将其转换为datetime
格式。
当然必须先转换成类似的字符串29.12.1992
, 15.07.1993
, 01.03.2002
。
解决方案
你可以试试这个。
GO
declare @date date
set @date = '901124'
select CONVERT(varchar(10), @date, 102) as [Date] --- for yyyy.MM.dd format
尝试这个
declare @dd varchar(10)
set @dd = '201292'
select CONVERT(VARCHAR(10), @dd, 2), CONVERT(VARCHAR(10), GETDATE(), 2)
, (SUBSTRING(@dd, 5,2) + SUBSTRING(@dd, 3,2) + SUBSTRING(@dd, 1,2))
, CONVERT(varchar(10), cast((SUBSTRING(@dd, 5,2) + SUBSTRING(@dd, 3,2) + SUBSTRING(@dd, 1,2)) as DATE) , 102)
推荐阅读
- javascript - 如何在javascript中通过第二次点击和第三次点击添加另一个事件?
- reactjs - 在map方法中:尝试为每个组件实例设置一个key
- python - 如何读取文本文件中的关键字和下一行直到python中的空白行
- java - Vault.keystore 值在 Java 应用程序中不可见
- java - 将 JDA discord bot 上传到 heroku
- java - 将数据处理成 1000 个批次
- c++ - c++ - 当其他代码在c++中运行时,如何制作一个在一定时间后更改布尔值的计时器?
- javascript - 当响应正文包含错误消息时重试 Array.forEach 获取请求
- sql - 获取两个品牌之间共有的用户数
- android - 成功的http请求后如何使用导航器关闭颤振时间选择器?