Postgresql 中bigint 转TimeStamp without zone时间转换遇到的问题

文章讲述了如何在PostgreSQL中使用C#的DateTime的ticks值(基于1970年1月1日)转换为无时区的时间戳,通过SQL的TO_TIMESTAMP函数和ATTIMEZONEUTC实现转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,我们公司的大佬写数据的时候,用postgresql 中的bigint 存储的C# DateTime 的ticks 属性。

由于ticks 属性是从0001年1月1日0时0分0秒。。。。进行存储的每100纳秒的个数。

现在我需要转换为postgresql 中的不带时区的时间字段,因此我写sql 语句如下,具体的原因,稍后做分析

SELECT TO_TIMESTAMP((time-621355968000000000)/10000000) AT TIME ZONE 'UTC' AS timestamp_without_tz,

这样就转换好了,其中那一长串的数字,是1970年那个时间的ticks。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值