sql - 如何从字符串存储的 yyyymmdd 格式转换为日期
问题描述
我有一个存储为字符串的日期,我想将其转换或转换varchar
为date
. 它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')
我收到以下错误:
从字符串转换日期和/或时间时转换失败。
解决方案
你可以这样做:
select convert(date, @UntilRule)
您的格式是日期的 SQL Server 标准。