GBase 8s
其他
问答

获取当前时间的时间戳

发表于2024-08-21 15:18:53209次浏览5个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:

【操作系统】:

【CPU】:

【问题描述】*:你好,gabse8s这一块如何获取当前时间的时间戳啊,类似于mysql的unix_timestamp()方法一样;

 

评论

登录后才可以发表评论
hugolin发表于 1年前
参考:https://gbasedbt.com/index.php/archives/36/
建自定义函数
用户头像
liaosnet发表于 1年前
链接中的语句,加个默认值,不带参数将返回当前时间戳
drop function if exists UNIX_TIMESTAMP(datetime year to second);
create dba function UNIX_TIMESTAMP(datestr datetime year to second default current year to second)
returns bigint with (not variant);
define rc_char varchar(30);
if datestr < datetime(1970-01-01 08:00:00) year to second then
let rc_char = datetime(1970-01-01 08:00:00) year to second - datestr;
return 0 - ((replace(substr(rc_char,1,9),'-')*86400)::bigint + substr(rc_char,17,2)*1 + substr(rc_char,14,2)*60 + substr(rc_char,11,2)*3600);
else
let rc_char = datestr - datetime(1970-01-01 08:00:00) year to second;
return ((substr(rc_char,1,9)*86400)::bigint + substr(rc_char,17,2)*1 + substr(rc_char,14,2)*60 + substr(rc_char,11,2)*3600);
end if;
end function;
最佳回答
GBase用户14614发表于 1年前
直接用 dbinfo('utc_current') 也可以
用户头像
路路路发表于 8个月前
有问题可以再发帖
xinyiedc!发表于 2个月前
蹲个答案。