我在 MS SQL 中将字符串转换为日期有点困难。希望你能指导我。
这是我的场景:
我的表中有一个名为 ExpDt 的列。它是产品的保质期。格式为 mm/dd。
现在我想知道什么产品会在 5 天前过期。所以我要做一个datediff。但问题是 ExpDt 列不是有效日期。如何将其转换为有效日期?
因此输出将类似于:2018-01-20,这是一个有效日期。不是字符串。
这是我尝试过的。
-- Outputs 2018-01-31
-- select @expDate = cast(datepart(year, getdate()) as nvarchar(5))
-- + '-' + substring(ExpDt, 1, 2)
-- + '-' + substring(ExpDt, 4, 5)
-- from BigEMerchandiser.dbo.tbl_Abis_D
Run Code Online (Sandbox Code Playgroud)
它返回一个字符串,但我无法使用 convert 函数将其转换为日期。我将附上表格的屏幕截图,以便您可以看到 ExpDt 列的数据。希望我清楚地解释了自己。任何帮助将非常感激。谢谢你。