|
|
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
Возник следующий вопрос. Когда мы пишем select .... from ... where d_date < to_date('27.01.2017','DD.MM.YYYY') для выполнения сравнения насколько я понимаю Оракл преобразует дату в секунды, а затем уже численные значения сравнивает? Тогда от какой даты идет отсчет? Нашел следующий ответ в http://www.sql.ru/forum/1222766/otschet-vremeni-ot-kakoy-daty-proishodit ElicНи от какой. RTFM Datetime Data Types (FAQ) : "Dates are stored …" При этом здесь http://www.sql.ru/forum/242681-1/format-daty-v-oracle пишут про 01.01.1970. Функция UNIX_TIMESTAMP(date) также отсчитывает секунды с 1 января 1970 года. Также в топике http://www.sql.ru/forum/1222766/otschet-vremeni-ot-kakoy-daty-proishodit пишут Вячеслав ЛюбомудровСмех-смехом, а некоторые вещи отсчитываются от 1988 . Про что здесь идет речь? И все таки интересно понять, что происходит когда происходит сравнение дат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 10:05 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
ArchiSQLдля выполнения сравнения насколько я понимаю Оракл преобразует дату в секунды, а затем уже численные значения сравнивает?Заблуждаешься. ArchiSQLТогда от какой даты идет отсчет?Читай мой ответ ещё раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 10:20 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
ElicArchiSQLдля выполнения сравнения насколько я понимаю Оракл преобразует дату в секунды, а затем уже численные значения сравнивает?Заблуждаешься. ArchiSQLТогда от какой даты идет отсчет?Читай мой ответ ещё раз. Если "ни от какой", тогда непонятно как происходит сравнение двух дат, вернее как машина это делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:03 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
"The database stores dates internally as numbers. Dates are stored in fixed-length fields of 7 bytes each, corresponding to century, year, month, day, hour, minute, and second." - это по ссылке от уважаемого Elic. То есть получается сначала идет сравнение 1 байта, который соответствует веку, затем если значения одинаковы, тогда происходит сравнения 2 байта, соответствующего году и т.д. Такова логика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:06 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
ArchiSQLкак происходит сравнение двух дат, вернее как машина это делает.Побайтно: ArchiSQLElic"Dates are stored …" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:08 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
ArchiSQLТакже в топике http://www.sql.ru/forum/1222766/otschet-vremeni-ot-kakoy-daty-proishodit пишут Вячеслав ЛюбомудровСмех-смехом, а некоторые вещи отсчитываются от 1988 Интересно, про что здесь речь шла насчет отсчета с 1988 года, а не с 1 января 1970 года (это дата, я так понимаю, установлена по дефолту за начало отсчета) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:10 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
ElicArchiSQLкак происходит сравнение двух дат, вернее как машина это делает.Побайтно: ArchiSQLпропущено... Спасибо за ответ!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:12 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
ArchiSQL1 января 1970 года (это дата, я так понимаю, установлена по дефолту за начало отсчета)Опять двадцать пять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:16 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
ArchiSQL, 1 января 1970 годаПрисоединен к: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt ions SQL> select sysdate-1e10 from dual; select sysdate-1e10 from dual * ошибка в строке 1: ORA-01841: (полный) год должен быть между -4713 и +9999, и не 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:24 |
|
||
|
Сравнение дат
|
|||
|---|---|---|---|
|
#18+
SCN, например, проверяется, что он не превышает 16384*количество секунд с 1 января 1988 Даты в контролах и заголовках файлов тоже хранятся во внутреннем 4-х байтном формате, содержащем кол-во секунд с 01-01-1988 (так же как и проверка SCN, там есть небольшое допущение, что каждый месяц содержит 31 день) Несколько ошибок на эту тему Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2017, 01:51 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39394881&tid=1886533]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 537ms |

| 0 / 0 |
