0
INSERT INTO Calculations(TOTAL_DAYS_NUMBER) 
select DTE_CHARGE - (
   select min(TIME_REGISTERED)
   from (
      select TIME_REGISTERED from SHIFTING_RECORDS where id=5
      UNION ALL
      select TIME_REGISTERED from MEAL_RECORDS where id=5
      UNION ALL
      SELECT TIME_REGISTERED FROM REGISTRATION WHERE id=5
      )
   ) 
from REGISTRATION
where id=5;

出力 19 3:28:47.812000000が得られますが、これは整数データ型の列に挿入することはできません。最初の 2 桁、つまり 19 を取得することにのみ関心があります。

4

1 に答える 1

1

使用extract(DAY FROM ...)

INSERT INTO Calculations (TOTAL_DAYS_NUMBER)
SELECT extract(DAY FROM DTE_CHARGE - (
    SELECT min(TIME_REGISTERED) FROM (
        SELECT TIME_REGISTERED
        FROM SHIFTING_RECORDS
        WHERE id = 5

        UNION ALL

        SELECT TIME_REGISTERED
        FROM MEAL_RECORDS
        WHERE id = 5

        UNION ALL

        SELECT TIME_REGISTERED
        FROM REGISTRATION
        WHERE id = 5
    )
))
FROM REGISTRATION
WHERE id = 5;
于 2013-03-10T18:01:53.440 に答える