首页 > 解决方案 > 我想使用 c# 或 sql 搜索带有掩码 (XXXX-XX-XX) 日期的数据库表

问题描述

我的日期列数据类型是“nvarchar”。我的日期列值将类似于XXXX-XX-XX(YYYY-MM-DD)。这里 XX 是任何数字,例如2018-XX-01

我的表包含以下记录

ID DOB
-- ------------
 1  2018-01-01
 2  2018-04-01
 3  2018-XX-01

场景 1 当我查询当时的日期2018-01-01时,我想要下面的输出

2018-01-01
2018-XX-01

因为 XX 是任何不。

场景 2 当我查询当时的日期2018-XX-01时,我想要下面的输出

2018-01-01
2018-XX-01
2018-04-01

因为 XX 是任何不

这里 XX 将在任何位置,例如年、月、日。

任何人都可以在 SQL 或 C# 中提供解决方案。

标签: c#sql

解决方案


嗯。我认为你可以使用like,但在两个方向:

where @datestr like replace(dob, 'XX', '%') or
      dob like replace(@datestr, 'XX', '%')

推荐阅读