В чем разница между маской даты оракула «yy» и «rr»?
Пример:
select ename from emp where hiredate = todate('01/05/81','dd/mm/yy')
и
select ename from emp where hiredate = todate('01/05/81','dd/mm/rr')
вернуть разные результаты
9X_oracle
Ответ #1
Ответ на вопрос: В чем разница между маской даты оракула «yy» и «rr»?
YY позволяет получить только две цифры года, например, 99 9X_sql в 1999. Остальные цифры (19) автоматически 9X_sql-select присваиваются текущему век. RR преобразует 9X_sql годы с двумя цифрами в годы с четырьмя цифрами 9X_sqlselect путем округления.
50–99 сохраняются как 1950–1999, а 9X_sql-statement даты, заканчивающиеся на 00–49, сохраняются 9X_sql-syntax как 2000-2049 гг. RRRR принимает четырехзначный 9X_sqlselect ввод (хотя и не требуется), и преобразует 9X_sql-statement двузначные даты, как это делает RR. YYYY 9X_sql-statement принимает 4-значный ввод, но не сделать 9X_oracle любую конвертацию даты
По сути, ваш первый 9X_sqlselect пример предполагает, что 81 — это 2081 год, а 9X_sql RR — 1981 год. Таким образом, первый пример 9X_sql-query не должен возвращать никаких строк, так 9X_sqlselect как вы, скорее всего, не нанимали людей 9X_sql-query после 1 мая 2081 года :-)
Ответ #2
Ответ на вопрос: В чем разница между маской даты оракула «yy» и «rr»?
y2k совместимость. rr предполагает, что 9X_sqlselect 01 соответствует 2001, yy предполагает, что 9X_sqlselect 01 соответствует 1901
см.: http://www.oradev.com/oracle_date_format.jsp
изменить: черт! michael "quickfingers" stum beat me to it!
/ тр
Ответ #3
Ответ на вопрос: В чем разница между маской даты оракула «yy» и «rr»?
Мой последний опыт работы с Oracle был 9X_sql немного давным-давно
ммм, это было до 2000 9X_sql-select года? :р
...
Будет ли yy всегда принимать 9X_sql-select 19xx?
according to your source получаем следующие сценарии:
USING
ENTERED
STORED
SELECT of date column
YY
22-FEB-01
22-FEB-1901
22-FEB-01
YYYY
22-FEB-01
22-FEB-0001
22-FEB-0001
RR
22-FEB-01
22-FEB-2001
22-FEB-01
RRRR
22-FEB-01
22-FEB-2001
22-FEB-2001
/ тр
Ответ #4
Ответ на вопрос: В чем разница между маской даты оракула «yy» и «rr»?
RR отображает четыре цифры как 1999 или 9X_sql-query 2015 (если <49, будет считаться 20 век)
-
25
-
4
-
8
-
7
-
17
-
8
-
11
-
6
-
10
-
5
-
2
-
8
-
5
-
7
-
6
-
7
-
22
-
14
-
6
-
7
-
6
-
5
-
10
-
6
-
7
-
8
-
8
-
6
-
9
-
5
-
21
-
3
-
14
-
8
-
5
-
9
-
3
-
9
-
5
-
12
-
4
-
5
-
2
-
1
-
6
-
3
-
5
-
10
-
9
-
5