2017-02-18 15 views
0

У меня есть запрос Oracle, в котором я получаю сообщение об ошибке, какORA-01843: не действительный не месяц получения решен

ORA-01843: не действительный месяц

Я попытался с помощью to_date Кроме того, но до сих пор он не работал для меня

Ниже в запросе

INSERT INTO xxcus.xxacl_land_purc_invoice_view 
     (mkey, ref_purchase_id, ref_sr_no, ref_purhcase_type, org_id, 
     project_id, taluka_id, village_id, survey_area_7_12, doc_no, 
     invoice_id, invoice_num, vendor_id, vendor_name, invoice_amt, 
     batch_id, batch_name, exp_id, exp_type, remarks, created_by, 
     creation_date, last_update_date, last_updated_by 
     ) 
VALUES (139, 18, 1, 'E', 6089, 
     49292, 1, 14, '85/47', '693', 
     NULL, NULL, 2653609, 'K.A.JOSEPH', 1000, 
     572727, 'ICICI', 900077, 'Land Cost', 'TEST', 5681, 
     '18-02-2017 16:02:10', '18-02-2017 16:02:10', '5681' 
     ) 
+1

Не вынимайте 'to_date()'. Просто используйте его правильно. –

+0

@ ÁlvaroGonzález: Я использовал его, но все же он не работал. как этот 'to_date ('18 -02-2017 16:02:10 ',' dd-MM-yyyy ')' – BNN

+0

Как он мог работать? Ваши данные не соответствуют формату вообще. –

ответ

2

Используйте to_date с правильной маской формата:

to_date('18-02-2017 16:02:10','dd-mm-yyyy hh24:mi:ss') 

Попробуйте это:

INSERT INTO xxcus.xxacl_land_purc_invoice_view 
     (mkey, ref_purchase_id, ref_sr_no, ref_purhcase_type, org_id, 
     project_id, taluka_id, village_id, survey_area_7_12, doc_no, 
     invoice_id, invoice_num, vendor_id, vendor_name, invoice_amt, 
     batch_id, batch_name, exp_id, exp_type, remarks, created_by, 
     creation_date, last_update_date, last_updated_by 
     ) 
VALUES (139, 18, 1, 'E', 6089, 
     49292, 1, 14, '85/47', '693', 
     NULL, NULL, 2653609, 'K.A.JOSEPH', 1000, 
     572727, 'ICICI', 900077, 'Land Cost', 'TEST', 5681, 
     to_date('18-02-2017 16:02:10','dd-mm-yyyy hh24:mi:ss'), 
     to_date('18-02-2017 16:02:10','dd-mm-yyyy hh24:mi:ss'), 
     '5681' 
     ) 

В соответствии с упоминанием ФП в о вставке текущего DateTime, то лучше использовать sysdate:

INSERT INTO xxcus.xxacl_land_purc_invoice_view 
     (mkey, ref_purchase_id, ref_sr_no, ref_purhcase_type, org_id, 
     project_id, taluka_id, village_id, survey_area_7_12, doc_no, 
     invoice_id, invoice_num, vendor_id, vendor_name, invoice_amt, 
     batch_id, batch_name, exp_id, exp_type, remarks, created_by, 
     creation_date, last_update_date, last_updated_by 
     ) 
VALUES (139, 18, 1, 'E', 6089, 
     49292, 1, 14, '85/47', '693', 
     NULL, NULL, 2653609, 'K.A.JOSEPH', 1000, 
     572727, 'ICICI', 900077, 'Land Cost', 'TEST', 5681, 
     sysdate, 
     sysdate, 
     '5681' 
     ) 
+0

, но я отправляю как это на стороне сервера, тогда как мне добавить 'to_date' ... Здесь это' DateTime.Now.ToString ("dd/MM/yyyy HH: mm: ss") ' – BNN

+0

@ nad - Если вы хотите вставить datetime как «now», тогда используйте 'sysdate'. Я отредактировал свой ответ. Проверьте второй SQL. – GurV

+0

, но' sysdate' должно быть присвоено что-то. '' SYSDATE "'? – BNN

 Смежные вопросы

  • Нет связанных вопросов^_^