问题描述
我想将每条记录的 datetime2 列转换为 int。如何在不创建变量的情况下执行此操作?
我的 datetime2 字段示例:
2020-03-03 10:17:26.0000000
2020-03-03 10:37:35.0000000
etc...
解决方法
首先,您应该指定您正在使用的 sql 变体。
假设使用 Microsoft T-SQL,您可以使用内置函数 CAST
。
CAST ( expression AS data_type [ ( length ) ] )
在您的情况下,要将日期转换为整数,您只需执行以下操作:
CAST ( [field to convert] AS int )
编辑:
正如@HoneyBadger 所指出的,不允许直接转换。由于数据没有小数秒,您可以先尝试转换为 datetime
类型,然后转换为 int
(这是允许的):
CAST (CAST ([field to convert] AS datetime) AS int)