【发布时间】:2020-06-05 15:55:30
【问题描述】:
所以我正在构建一个项目,我需要根据给定的月份从数据库中获取日期, 因为我需要找到在给定月份过生日的客户。我有一个在 SQL 服务器中运行良好的查询,但在 Linq 中没有得到它的等价物。
这是我在 SQL 中运行的查询
SELECT * FROM CustReg
WHERE DOB LIKE '_____month%'
我需要匹配那个月份,因为它应该在 DOB 字符串的第 6 位。
Demo Database-
Id Name DOB
1 AB 1995-02-20
2 CD 1998-04-13
4 EF 1991-02-15
5 GH 1988-06-8
6 IJ 2000-02-09
查询 - 选择所有 2 月生日的员工。 预期输出 - AB、EF、IJ。
PS- 我采用了 DOB string 而不是 Date 或 DateTime 的数据类型。
我还有从输入日期获取的月份字符串(例如 2 月的“02”)。
【问题讨论】:
-
您能分享您的输入和预期输出吗?
-
@AnkitTiwari:你为什么不在 sql 查询中使用
MONTH(your_date)来匹配你的月份?对于LINQ,我认为您的问题与stackoverflow.com/questions/39609777/… 相同 -
@Irfan 因为我已将字符串作为该字段的数据类型,而不是日期或日期时间。
-
@xXx 我已经编辑了我的问题,请再次检查
-
修复您的数据库并将 DOB 存储为正确的日期类型。
标签: sql-server linq asp.net-mvc-5