문제를 해결하려면 다음을 수행하십시오. 두 가지 의미가 있습니다. 시간 : 12:20과 23:55. 콘센트에있는 값을 추가하는 방법은 36:15입니다.시간 firebird 작업
또는 이러한 값을 dB (시간) 시간으로 유지하는 방법 이외의 추가가 가능 했습니까?
문제를 해결하려면 다음을 수행하십시오. 두 가지 의미가 있습니다. 시간 : 12:20과 23:55. 콘센트에있는 값을 추가하는 방법은 36:15입니다.시간 firebird 작업
또는 이러한 값을 dB (시간) 시간으로 유지하는 방법 이외의 추가가 가능 했습니까?
파이어 버드의 데이터 유형 TIME은 00:00:00에서 24:00:00 사이의 범위 만 허용합니다.
임의의 시간 (초)을 저장하려면 INTEGER 또는 NUMERIC 데이터 유형을 사용하십시오. 그런 다음 필요에 따라 시간 문자열 형식으로 변환하십시오.
나에게 매우 합리적이라고 생각합니다. TIME [_OF_DAY] 유형은 DURATION 유형과 다릅니다. – Shark8
당신은 당신이 2 회를 추가 할 수 있습니다이와 TIMESTAMP in dialect 3
를 사용할 수 있습니다.
나는 코드가 여기
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
;
내가 올바르게 두 번 추가 할 것을 이해하십니까과 결과가 다른 * 유효 * 시간이 있어야한다 정수 (초)로 변환이? –