微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 datetime2 转换为 int

如何解决将 datetime2 转换为 int

我想将每条记录的 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 )  

微软参考文档: https://docs.microsoft.com/it-it/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver15

编辑:

正如@HoneyBadger 所指出的,不允许直接转换。由于数据没有小数秒,您可以先尝试转换为 datetime 类型,然后转换为 int(这是允许的):

    CAST (CAST ([field to convert] AS datetime) AS int)  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。