小编Dan*_*nar的帖子

MS SQL - 将字符串 mm/dd 转换为日期

我在 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 列的数据。希望我清楚地解释了自己。任何帮助将非常感激。谢谢你。

结果集

sql-server datetime

0
推荐指数
1
解决办法
164
查看次数

标签 统计

datetime ×1

sql-server ×1