У меня есть набор данных формата excel, который необходимо импортировать в таблицу, один столбец - дата, но данные хранятся в числовом формате, таком как 41275, при импорте данные, я попытался выбрать формат данных yyyy-mm-dd, он дает ошибку: недействительный месяц, также пробовал MM/DD/YYYY и ошибку: день месяца должен быть от 1 до последнего дня месяца. кто-нибудь знает, что это за номер и как я могу преобразовать его в формат даты при импорте его в базу данных? Спасибо!как преобразовать число на сегодняшний день в oracle sql developer
ответ
Номер, который вы получили это представление первенствует на определенную дату ...
первенствует хранит дату как количество дней, начиная рассчитывать на определенную дату ..., чтобы быть точным:
1 = 1-JAN-1900
2 = 2-JAN-1900
...
30 = 30-JAN-1900
так, чтобы получить номер первенствовать в качестве даты оракула, вы можете попробовать что-то вроде этого ...
to_date('1899-12-31','yyyy-mm-dd') + 41275
Остерегайтесь ошибки 1900-leapyear-ошибки Excel ;-) http://support2.microsoft.com/kb/214326/ru-us –
И будьте осторожны с функцией 'date_add', которая не существует в Oracle и неправильным написанием литерала' interval'. ;-) – nop77svk
@ nop77svk хорошо, насколько я могу видеть, что date_add не проблема с oracle ... по крайней мере в течение нескольких дней, это сводится к «+» – DarkSquirrel42
Выражение (относительно високосного года ошибка в Excel в AmmoQ упоминает), вы ищете:
case
when yourNumberToBeImported <= 59 then date'1899-12-31' + yourNumberToBeImported
else date'1899-12-30' + yourNumberToBeImported
end
Затем вы можете либо
- Создать (глобальный) временную таблицу в вашем БД Oracle, загрузите данные из Excel в таблицу, а затем перезагрузите данные из временной таблицы в целевую таблицу, включив приведенный выше расчет.
или вы можете
- Загрузите данные из Excel в постоянные таблицы в вашей БД Oracle и создать вид на постоянная таблицы, которая будет содержать выше расчет.
- 1. Как преобразовать целое число на сегодняшний день?
- 2. Преобразование строки varchar2 на сегодняшний день - Oracle SQL Developer
- 3. Преобразовать число на сегодняшний день в PHP
- 4. Преобразовать число на сегодняшний день в Java
- 5. характера на сегодняшний день в Oracle SQL
- 6. SQL Server преобразует число на сегодняшний день
- 7. Как преобразовать sql nvarchar на сегодняшний день
- 8. proc sql - изменить число на сегодняшний день
- 9. Varchar2 на сегодняшний день в Oracle
- 10. В Oracle, конвертировать число (5,10) на сегодняшний день
- 11. Как преобразовать строку на сегодняшний день в SQL Server?
- 12. Преобразовать VARCHAR на сегодняшний день Sql
- 13. Конвертировать 5-значное число на сегодняшний день
- 14. Oracle - Преобразовать номер 8-значный номер на сегодняшний день
- 15. Преобразование строки (целое число) на сегодняшний день в SQL
- 16. Преобразование YYWW на сегодняшний день в Oracle
- 17. Преобразовать целое число на сегодняшний день в MySQL, PHP
- 18. Как преобразовать значение DateTimepicker на сегодняшний день?
- 19. Преобразование числа на сегодняшний день в oracle sql
- 20. Преобразование строки на сегодняшний день в Oracle SQL
- 21. Как преобразовать временную метку sql на сегодняшний день в swift?
- 22. как преобразовать текст на сегодняшний день в SQL Server 2008?
- 23. Как преобразовать строковое значение на сегодняшний день
- 24. Как преобразовать строку на сегодняшний день javascript?
- 25. Как преобразовать строку на сегодняшний день
- 26. Как преобразовать байт [] на сегодняшний день
- 27. Как преобразовать строку на сегодняшний день - mmddyyyy
- 28. как преобразовать текст на сегодняшний день?
- 29. Как преобразовать строку на сегодняшний день T-SQL?
- 30. Преобразовать строку на сегодняшний день в SQLite
что отличное дает вам количество дней с 1 января 1900 года ... – DarkSquirrel42
@ DarkSquirrel42 Я не понимаю, как конвертировать число в формат даты? это число означает определенную дату? – user2810081
Я думаю, что лучший способ изменить тип ячейки на текст, возможно, использовать для нее другой столбец '= text (Date_col, 'yyyy.mm.dd')', чем экспорт csv. Теперь у вас есть delimetered csv где даты yyyy.mm.dd, и теперь вы можете легко импортировать без ошибок. Или если вы знакомы с java, напишите просто код с excel api, прочитайте все строки и вставьте с помощью jdbc. (Я использую это, если я импортирую огромную сумму и нуждаюсь в получении дат, если малое количество, просто просто передаю содержимое ячеек и импортирую без проблем) – Csanesz