【发布时间】:2021-03-24 20:04:31
【问题描述】:
这是我返回匹配记录的 LINQ
var staffawards = await _context.StaffAwards.FirstOrDefaultAsync(c => c.StaffID == StaffAwards.StaffID && c.EmpID == StaffAwards.EmpID && c.AwardDate == StaffAwards.AwardDate);
StaffAwards.AwardDate 的格式为“09/12/2020 12:00:00 AM” 而我表中的 AwardDate 将是这样的“2020-12-09 17:16:00.000”
如何在 Sql Server 日期时间中转换 StaffAwards.AwardDate? AnyHelp 将不胜感激。
【问题讨论】:
-
1 不要将日期/时间字符串表示与实际存储格式混淆:.NET 和 SQL Server 都不会将日期/时间存储为字符串。您发布的是字符串表示形式。 2.
AwardDate使用什么字段类型? 3. 你真的需要比较日期/时间吗,或者日期比较就足够了? -
SQL Server 和 C# 都有本机 DateTime 类型(SQL Server 有其他时间和日期类型)。这些类型没有格式,除非您将它们转换为字符串(在这种情况下,您可以将它们转换为任何格式)。如果您的
StaffAwards.AwardDate是字符串,请使用 Parse 或 TryParse(或它们的 Exact 等效项 将其转换为 DateTime -
嗨@Dennis,StaffAwards.AwardDate 的数据类型是 Datetime,因为我使用 datetimepicker,所以输入字段类型是 Text。我只是想检查表值是否等于用户输入值。
标签: c# entity-framework asp.net-core linq-to-sql razor-pages