gpt4 book ai didi

c# - 具有 Linq to Sql 扩展的 DateTime 的子字符串

转载 作者:太空狗 更新时间:2023-10-29 22:27:51 25 4
gpt4 key购买 nike

我正在尝试从我的表中获取日期列表,该表在名为 StartTime 的列中包含许多 DateTime 值。我的前任使用以下 SQL:

SELECT DISTINCT SUBSTRING(CONVERT(VARCHAR(50), StartTime, 120), 1, 10)

这会为表中的每一行生成一个不同的日期列表,格式为“yyyy-MM-dd”。我正在尝试通过执行以下操作将其转换为 Linq-to-SQL:

query.Select(o => o.StartTime.ToString("yyyy-MM-dd")).Distinct()

然而,这会导致错误“方法‘System.String ToString(System.String)’没有支持的 SQL 转换。”

如何使用 Linq-to-SQL 执行此子字符串/转换?

谢谢!

最佳答案

您可以通过 DateTime properties supported in LINQ to SQL 处理此问题,而不是依赖于字符串处理。 :

var results = query.Select(o => o.StartTime.Date).Distinct();

如果你想把它看成一个字符串,稍后,你可以使用 LINQ to Objects 来转换结果:

var stringResults = results.AsEnumerable().Select(d => d.ToString("yyyy-MM-dd"));

关于c# - 具有 Linq to Sql 扩展的 DateTime 的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8977922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com