【发布时间】:2015-03-12 19:59:19
【问题描述】:
出于性能原因,我正在用 sql 查询替换我的 C# 代码:
CreatedAt.ToString("ddMMyy", System.Globalization.CultureInfo.InvariantCulture)
将创建日期返回为140115(今天)。在 C# 中足够简单,但我如何在 T-SQL 中得到它?
我试过了:
REPLACE(CONVERT(CHAR(10), ChargeArrival.CreatedAt, 103), '/', '')
这几乎是正确的,但年份是四位数而不是两位,所以14012015 而不是140115。
【问题讨论】:
-
我不相信这会表现得更好。 SQL Server 中的数据类型转换也不是免费的。
-
@AaronBertrand:优化的一部分不是日期转换,而是替换 LINQ-To-SQL,其中对象包含由其他数据库查询初始化的复杂字段。现在我正在使用一个包含所有相关字段的视图。选择 100 行(加载 100 个对象)需要 20 秒,现在只需几分之一秒。
-
好吧,这不是很清楚,听起来效率问题只是在 C# 中应用格式。
标签: sql sql-server tsql sql-server-2005 datetime-format