首页 > 解决方案 > 如何从字符串存储的 yyyymmdd 格式转换为日期

问题描述

我有一个存储为字符串的日期,我想将其转换或转换varchardate. 它yyyymmdd以字符串形式存储。日期输出应该是yyyymmdd格式,date数据类型:

DECLARE @UntilRule nvarchar(50)
DECLARE @UntilDate date

SET @UntilRule = 20200601
SET @UntilDate = FORMAT(CAST(SUBSTRING(@UntilRule, CHARINDEX('=', @UntilRule) + 1, 8) AS date), 'yyyymmdd')

我收到以下错误:

从字符串转换日期和/或时间时转换失败。

标签: sqlsql-server

解决方案


你可以这样做:

select convert(date, @UntilRule)

您的格式是日期的 SQL Server 标准。


推荐阅读