问题描述
我在名为 Date 的列中有值作为 mmddyy 形式的 nvarachar 数据类型,并希望将这些值转换为 yyyy-mm-dd 形式的日期数据类型,我可以使用什么 sql Colde 来转换价值。
示例 02121955 -> 1955-02-12
解决方法
我发现了一个与您类似的问题已解决:https://stackoverflow.com/a/39139155/14940878
以下是针对您的请求更改的代码:
declare @date varchar(max)='02121955'
select convert(varchar(8),cast(CONCAT(SUBSTRING(@date,5,4),'/',SUBSTRING(@date,1,2),3,2)) as date),112)as [YYYYMMDD]
您需要将每个字段合并为一个,然后将其转换为日期时间。
SUBSTRING(@date,4) - Takes the last four characters.
SUBSTRING(@date,2) - Takes the first two.
SUBSTRING(@date,2) - Takes the two in the middle.
假设它是 SQL Server,我认为你只需要
select cast(format(02121955,'##-##-####') as date)