Как я получаю текущий год с помощью SQL на Oracle?

Некоторые причины:

1) грамматика C++ более сложна, чем C# или Java и занимает больше времени для парсинга.

2) (более важный) компилятор C++ производит машинный код и делает всю оптимизацию во время компиляции. C# и Java идут всего половиной пути и оставляют эти шаги к JIT.

58
задан a_horse_with_no_name 11 March 2014 в 07:47
поделиться

2 ответа

Использование to_char:

select to_char(sysdate, 'YYYY') from dual;

В вашем примере вы можете использовать что-то вроде:

BETWEEN trunc(sysdate, 'YEAR') 
    AND add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60;

Значения для сравнения именно то, что вы просите:

select trunc(sysdate, 'YEAR') begin_year
     , add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60 last_second_year
from dual;

BEGIN_YEAR  LAST_SECOND_YEAR
----------- ----------------
01/01/2009  31/12/2009
100
ответ дан 24 November 2019 в 18:40
поделиться

Другой вариант:

SELECT *
  FROM TABLE
 WHERE EXTRACT( YEAR FROM date_field) = EXTRACT(YEAR FROM sysdate) 
60
ответ дан 24 November 2019 в 18:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: