Преобразование типа даты в тип числа (Excel) в Oracle SQL - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь объединить два значения столбца в одну строку. Один из столбцов имеет тип данных VARCHAR2(12), а другой - DATE. Хотя я могу сложить их вместе, но результат выглядит примерно так, как ожидалось, в то время как ожидаемый результат, как упоминалось:

A=XS1297559038
payment_date=24-DEC-15

Введите:

select distinct(A), A||payment_date,

Выход:

XS129755903824-DEC-15

Ожидаемый результат:

XS129755903842362

Нечто подобное мы бы получили, если бы сделали это в Excel.

Большое спасибо заранее. Я использую оракул sql 11.2

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Я не могу редактировать (менее 6 символов) или комментировать (меньше репутации: p). Я думаю, что есть необходимость пересмотреть вывод. Пожалуйста, проверьте и отредактируйте, если считаете, что это правильно.
токовый выход: XS1297559038 42 362
ожидаемый результат: XS1297559038 24 362

0 голосов
/ 27 апреля 2018

Из документации Microsoft для функции DATEVALUE в Microsoft Excel,

DATEVALUE

Примечания

Excel сохраняет даты в виде последовательных серийных номеров, чтобы их можно было используется в расчетах. По умолчанию 1 января 1900 года является серийным номером 1, и 1 января 2008 года - серийный номер 39448, потому что это 39,447 дней после 1 января 1900 года.

Итак, используя приведенную выше логику, когда я вычитаю вашу дату с 1 января 1900 года и добавляю 2, я получаю 42362

select DATE '2015-12-24' - DATE '1900-01-01' + 2  FROM DUAL;

Демо

Вот аналогичное сообщение в StackOverflow: Изменить номер даты в Excel на дату Oracle

0 голосов
/ 27 апреля 2018

попробуйте это выберите to_number (to_char (sysdate, 'J')) из двойного;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...