与时间火鸟的操作

发布于 2024-10-07 02:20:11 字数 94 浏览 1 评论 0原文

解决问题。 时间有两种含义:12:20 和 23:55。如何添加出口处的值是 36:15。

或者如何将这些值保留为 dB(时间)时间,除此之外,是否可以添加?

To resolve the issue.
There are two meanings Time: 12:20 and 23:55. How can add the values that-be at the outlet was 36:15.

Or how to keep these values in dB (Time) Time except that, were it possible addition?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

诗酒趁年少 2024-10-14 02:20:11

Firebird 的数据类型 TIME 只允许范围在 00:00:00 到 24:00:00 之间。

如果要存储任意时间量(例如,以秒为单位),请使用 INTEGER 或 NUMERIC 数据类型。然后根据需要将其转换为时间字符串格式。

Firebird's data type TIME allows range between 00:00:00 and 24:00:00 only.

If you want to store arbitrary amount of time (say, in seconds) use INTEGER or NUMERIC datatype. Then convert it into time string format if needed.

尤怨 2024-10-14 02:20:11

您可以使用 方言 3 中的 TIMESTAMP

这样您可以添加 2 次。

You can use TIMESTAMP in dialect 3

With this you can add 2 times.

怎樣才叫好 2024-10-14 02:20:11

我这里有代码将秒转换为整数

CREATE PROCEDURE P_CONVERT_TIME (
  V_TIME_INT INTEGER
)
RETURNS (
  V_TIME_STR VARCHAR(20)
)
AS
  DECLARE VARIABLE v_max_trans_hour integer;
  DECLARE VARIABLE v_max_trans_min integer;
  DECLARE VARIABLE v_max_trans_sec integer;
  DECLARE VARIABLE v_max_trans_sec_gross integer;
BEGIN
    v_max_trans_sec = cast(v_Time_Int as integer);
    v_max_trans_hour = coalesce(div(v_max_trans_sec, 3600), 0);
    if (v_max_trans_hour > 0) then
      v_max_trans_sec = v_max_trans_sec - (3600 * v_max_trans_hour);
    v_max_trans_min = coalesce(div(v_max_trans_sec, 60), 0);
    if (v_max_trans_min > 0) then
      v_max_trans_sec = v_max_trans_sec - (60 * v_max_trans_min);

    if (v_max_trans_hour > 0) then begin
       if (v_max_trans_hour < 10) then begin
        V_Time_Str ='0'||v_max_trans_hour||':'; end else
        V_Time_Str=v_max_trans_hour||':';
    end else  V_Time_Str='00:';

    if (v_max_trans_min > 0) then begin
       if (v_max_trans_min <10) then begin
        V_Time_Str =V_Time_Str ||'0'||v_max_trans_min||':'; end else
        V_Time_Str =V_Time_Str ||v_max_trans_min||':';
    end else V_Time_Str =V_Time_Str ||'00:';

    if (v_max_trans_sec > 0) then begin
       if (v_max_trans_sec <10) then begin
        V_Time_Str =V_Time_Str ||'0'|| v_max_trans_sec; end else
        V_Time_Str =V_Time_Str || v_max_trans_sec;

    end else V_Time_Str =V_Time_Str ||'00';
  suspend;
END
;

i have code here convert seconds in integer

CREATE PROCEDURE P_CONVERT_TIME (
  V_TIME_INT INTEGER
)
RETURNS (
  V_TIME_STR VARCHAR(20)
)
AS
  DECLARE VARIABLE v_max_trans_hour integer;
  DECLARE VARIABLE v_max_trans_min integer;
  DECLARE VARIABLE v_max_trans_sec integer;
  DECLARE VARIABLE v_max_trans_sec_gross integer;
BEGIN
    v_max_trans_sec = cast(v_Time_Int as integer);
    v_max_trans_hour = coalesce(div(v_max_trans_sec, 3600), 0);
    if (v_max_trans_hour > 0) then
      v_max_trans_sec = v_max_trans_sec - (3600 * v_max_trans_hour);
    v_max_trans_min = coalesce(div(v_max_trans_sec, 60), 0);
    if (v_max_trans_min > 0) then
      v_max_trans_sec = v_max_trans_sec - (60 * v_max_trans_min);

    if (v_max_trans_hour > 0) then begin
       if (v_max_trans_hour < 10) then begin
        V_Time_Str ='0'||v_max_trans_hour||':'; end else
        V_Time_Str=v_max_trans_hour||':';
    end else  V_Time_Str='00:';

    if (v_max_trans_min > 0) then begin
       if (v_max_trans_min <10) then begin
        V_Time_Str =V_Time_Str ||'0'||v_max_trans_min||':'; end else
        V_Time_Str =V_Time_Str ||v_max_trans_min||':';
    end else V_Time_Str =V_Time_Str ||'00:';

    if (v_max_trans_sec > 0) then begin
       if (v_max_trans_sec <10) then begin
        V_Time_Str =V_Time_Str ||'0'|| v_max_trans_sec; end else
        V_Time_Str =V_Time_Str || v_max_trans_sec;

    end else V_Time_Str =V_Time_Str ||'00';
  suspend;
END
;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文