Skip to content

Commit dcaaacb

Browse files
committed
Truncate DateTimeOffset to datetime using Cast
1 parent 3670c10 commit dcaaacb

File tree

1 file changed

+4
-13
lines changed
  • Orm/Xtensive.Orm.SqlServer/Sql.Drivers.SqlServer/v10

1 file changed

+4
-13
lines changed

Orm/Xtensive.Orm.SqlServer/Sql.Drivers.SqlServer/v10/Compiler.cs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -130,19 +130,10 @@ public override void Visit(SqlBinary node)
130130

131131
#region Static helpers
132132

133-
private static SqlExpression DateTimeOffsetTruncate(SqlExpression dateTimeOffset)
134-
{
135-
return SqlDml.Cast(
136-
DateAddMillisecond(
137-
DateAddSecond(
138-
DateAddMinute(
139-
DateAddHour(dateTimeOffset,
140-
-SqlDml.Extract(SqlDateTimeOffsetPart.Hour, dateTimeOffset)),
141-
-SqlDml.Extract(SqlDateTimeOffsetPart.Minute, dateTimeOffset)),
142-
-SqlDml.Extract(SqlDateTimeOffsetPart.Second, dateTimeOffset)),
143-
-SqlDml.Extract(SqlDateTimeOffsetPart.Millisecond, dateTimeOffset)),
144-
SqlType.DateTime);
145-
}
133+
private static SqlExpression DateTimeOffsetTruncate(SqlExpression dateTimeOffset) =>
134+
SqlDml.Cast(
135+
SqlDml.Cast(dateTimeOffset, new SqlValueType(SqlDateTypeName)),
136+
new SqlValueType(SqlDateTime2TypeName));
146137

147138
private static SqlExpression DateTimeOffsetTruncateOffset(SqlExpression dateTimeOffset)
148139
{

0 commit comments

Comments
 (0)