Oracle sql日期间隔
请帮助我B是正确的吗?Oracle sql日期间隔,sql,oracle,date,intervals,calculated-columns,Sql,Oracle,Date,Intervals,Calculated Columns,请帮助我B是正确的吗? 或者C你最好的选择就是尝试一下 SQL> alter session set nls_date_format = 'dd_mm_yyyy'; Session altered. SQL> -- A SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '6' day 2 + interval '120' second, 'dd-mon-yyyy') as
或者C你最好的选择就是尝试一下
SQL> alter session set nls_date_format = 'dd_mm_yyyy';
Session altered.
SQL> -- A
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '6' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
04-jan-2020
SQL> -- B
SQL> select to_char(to_date('29-10-2019') + interval '3' month + interval '7' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
05-feb-2020
SQL> -- C
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '4' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
02-jan-2020
SQL> -- D
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '6' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
04-jan-2020
SQL> -- E
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '5' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
03-jan-2020
SQL>
所以-是的,C是正确的。您最好的选择是尝试它
SQL> alter session set nls_date_format = 'dd_mm_yyyy';
Session altered.
SQL> -- A
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '6' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
04-jan-2020
SQL> -- B
SQL> select to_char(to_date('29-10-2019') + interval '3' month + interval '7' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
05-feb-2020
SQL> -- C
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '4' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
02-jan-2020
SQL> -- D
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '6' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
04-jan-2020
SQL> -- E
SQL> select to_char(to_date('29-10-2019') + interval '2' month + interval '5' day
2 + interval '120' second, 'dd-mon-yyyy') as datum from dual;
DATUM
-----------
03-jan-2020
SQL>
因此-是的,C是正确的。无,所有查询在语法上无效,并将引发异常,如下所示:
- 它们有反勾号而不是单引号李>
,INTEVAL'120秒中应该有第二个引号
拼写错误;及INTERVAL
- 在
函数的格式模型周围,引号缺失,前面分隔参数的逗号也缺失TO_CHAR
如果忽略(许多)语法错误,则从
2019-10-29
开始,并希望进入2020-01-02
;两个月(即2019-12-29年的时间)和4天的时间相差。秒数无关紧要,因为由于NLS
设置,秒数不显示。这将给出答案C
无,所有查询在语法上无效,并将引发异常,如:
- 它们有反勾号而不是单引号李>
,INTEVAL'120秒中应该有第二个引号
拼写错误;及INTERVAL
- 在
函数的格式模型周围,引号缺失,前面分隔参数的逗号也缺失TO_CHAR
如果忽略(许多)语法错误,则从
2019-10-29
开始,并希望进入2020-01-02
;两个月(即2019-12-29年的时间)和4天的时间相差。秒数无关紧要,因为由于NLS
设置,秒数不显示。这将给出答案C
您是否尝试在DB上运行它们?是否尝试在DB上运行它们?