我有一个Oracle数据库,我使用NHibernate从我的应用程序访问。该表有一个时间戳字段。在代码中,相应的字段如下所示:
[Property(Column = "LASTPERFORMED_TS", Type = "Timestamp")]
public virtual DateTime LastPerformedTs { get; set; }
但我需要存储UTC时间戳而不是本地时间戳。现在,默认值具有由触发器设置的本地日期。是否可以将其更改为默认具有UTC值?
触发器现在执行此操作:
你能帮帮我吗?:NEW.MODIFIED_TS:= SYSDATE;
答案 0 :(得分:0)
Oracle没有像GETUTCDATE()这样的函数返回当前的UTC日期。
在Oracle中,您需要通过向服务器提供服务器的当前时间戳来使用SYS_EXTRACT_UTC
。
您需要使用以下内容来获取Oracle中的当前UTC日期时间。
SELECT SYS_EXTRACT_UTC(SYSTIMESTAMP)UTC_SYS, SYSTIMESTAMP FROM DUAL;
这可以解决您的问题。