반응형
간격을 분으로 변환
두 개의 간격이 있다고 가정합니다.
INTERVAL '0 00:30:00' DAY TO SECOND
INTERVAL '0 04:00:00' DAY TO SECOND
각 간격마다 분을 얻는 가장 우아한 방법은 무엇입니까? 30
그리고.240
따라서.
네, 할 수 있다는 것을 압니다EXTRACT(HOUR FROM interval) * 60 + EXTRACT(MINUTE FROM interval)
하지만 이건 끔찍해 보여요
더 좋은 해결책은 없습니까?
당신이 보기에 끔찍해 보이는 것은, 제가 보기에 완벽하게 받아들일 수 있는 것처럼 보입니다.INTERVAL에 대해 수행할 수 있는 산술의 설명서를 보면 다음과 같습니다.
http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/sql_elements001.htm#sthref175
그러면 당신은 그것들을 숫자로 곱할 수 있다는 것을 알 수 있습니다.그래서 여러분이 여러분의 간격을 24와 60으로 곱하면, 여러분은 일의 수를 추출함으로써 분의 수를 얻을 수 있습니다.좀 더 콤팩트하지만, 당신이 보기에 더 우아한지는 의문입니다.
SQL> create table t (my_interval interval day to second)
2 /
Table created.
SQL> insert into t
2 select numtodsinterval(30,'minute') from dual union all
3 select numtodsinterval(4,'hour') from dual
4 /
2 rows created.
SQL> select my_interval
2 , 60 * extract(hour from my_interval)
3 + extract(minute from my_interval) minutes_terrible_way
4 , extract(day from 24*60*my_interval) minutes_other_way
5 from t
6 /
MY_INTERVAL MINUTES_TERRIBLE_WAY MINUTES_OTHER_WAY
------------------------------ -------------------- -----------------
+00 00:30:00.000000 30 30
+00 04:00:00.000000 240 240
2 rows selected.
안부 전해요,
롭
(extract(day from my_interval) * 24 * 60 + extract(hour from my_interval)) * 60 + extract(minute from my_interval) my_way
며칠을 잊지 마세요.
위의 롭의 예를 다시 사용하면,
select (sysdate-(sysdate-to_dsinterval(my_interval)))*24*60 from t;
언급URL : https://stackoverflow.com/questions/5063214/convert-interval-to-minutes
반응형
'programing' 카테고리의 다른 글
스프링 부트 상태 비저장 필터가 두 번 호출되는 이유는 무엇입니까? (0) | 2023.06.22 |
---|---|
DisplayAttribute를 표시하려면 어떻게 해야 합니다.설명 특성 값? (0) | 2023.06.22 |
MongoDB의 기존 필드 끝에 문자열 추가 (0) | 2023.06.22 |
유형 스크립트 - 인터페이스의 모든 구현을 가져옵니다. (0) | 2023.06.22 |
TS 오류:'string' 형식이 배열 형식이나 문자열 형식이 아닙니다.어떻게 끈이 끈이 아닌가요? (0) | 2023.06.22 |