【问题标题】:how to specify date format in oracle while inserting record?插入记录时如何在oracle中指定日期格式?
【发布时间】:2013-01-23 05:05:15
【问题描述】:
INSERT INTO STUDENT_RECORD_DATABASE
  (ROLLNO,FIRST_NAME,MIDDLE_NAME,LAST_NAME,CONTACT,CONTACT1,CONTACT2,ADDRESS,GRADE,DIVID,BLOOD_GROUP,HID,DATE_OF_BIRTH,TRANSPORT,SNAME,MEAL,BUSNO,RUTNO,DID,AID,CARD_TYPE,CARD_NO)
VALUES
 (135,'SHRENIK','ATUL','VAJPEYEE', 8852140367, 7698555412, 235599, 'LEN Q BEHIND DWARKA HOTEL', '9TH','40', 'AB-VE' ,13,'To_Date ('15-Aug-1997','dd-Mon-YYYY') ', 'NO' ,'DWARKA' ,'NO' ,'MH 04 3215' ,1,515,311, 'ESCORT' ,1062)

'To_Date ('15-Aug-1997','dd-Mon-YYYY')', * 第 15 行的错误: ORA-00917: 缺少逗号

但所有逗号都存在,我需要指定这种日期格式。

【问题讨论】:

    标签: oracle vb6


    【解决方案1】:

    您不必在TO_DATE() 函数中加上单引号。 像这样:

    INSERT INTO STUDENT_RECORD_DATABASE (ROLLNO,FIRST_NAME,MIDDLE_NAME,LAST_NAME,CONTACT,CONTACT1,CONTACT2,ADDRESS,GRADE,DIVID,BLOOD_GROUP,HID,DATE_OF_BIRTH,TRANSPORT,SNAME,MEAL,BUSNO,RUTNO,DID,AID,CARD_TYPE,CARD_NO)
    
    VALUES
     (135,'SHRENIK','ATUL','VAJPEYEE', 8852140367, 7698555412, 235599, 'LEN Q BEHIND DWARKA HOTEL', '9TH','40', 'AB-VE' ,13,To_Date('15-Aug-1997','dd-Mon-YYYY'), 'NO' ,'DWARKA' ,'NO' ,'MH 04 3215' ,1,515,311, 'ESCORT' ,1062)
    

    【讨论】:

    • 但是先生,我正在尝试使用 vb6 插入记录.....如果我从 to_date() 中删除引号,则会在 oracle 中添加记录,但在 vb6 中会显示语法错误.... . 这就是我设置引号的原因....
    • 您不能将查询直接写入编译器。您必须将查询字符串传递给变量或像这样直接运行它:sqlstrInsert = "[your query]" 然后dbconn.Execute (sqlstrInsert)
    • @cool_sari,能否请您给我们您在运行/执行此查询时的 vb 脚本?
    • Private Sub CmdSave_Click() sql = "INSERT INTO STUDENT_RECORD_DATABASE" sql = sql + "VALUES ('To_Date ('" & Format(DTPicker1.Value, "dd-MMM-yyyy") & "' ,'dd-Mon-YYYY') '" Set RES = CON.Execute(sql) ******* 我同意但是在 vb6 它显示 to_date() 的语法错误,我必须使用它插入新记录.. .......请帮助
    • 考虑到您在评论中的代码,字符串之间没有空格。您必须在表名和您使用的变量之间放置空格,例如:Private Sub CmdSave_Click() sql = "INSERT INTO STUDENT_RECORD_DATABASE <space> " sql = sql + "<space>VALUES (To_Date('" & Format(DTPicker1.Value, "dd-MMM-yyyy") & "','dd-Mon-YYYY') '" Set RES = CON.Execute(sql) *******
    【解决方案2】:

    TO_DATE() 是一个函数而不是字符串文字,因此您需要删除它周围的单引号。

    【讨论】:

    • Private Sub CmdSave_Click() sql = "INSERT INTO STUDENT_RECORD_DATABASE" sql = sql + "VALUES ('To_Date ('" & Format(DTPicker1.Value, "dd-MMM-yyyy") & "' ,'dd-Mon-YYYY') '" Set RES = CON.Execute(sql) ******* 我同意但是在 vb6 它显示 to_date() 的语法错误,我必须使用它插入新记录.. .......请帮助
    • 先生,请提出一些建议
    • 或者这样可以吗? '" & Format(DTPicker1.Value, "dd-MMM-yyyy") & "'
    猜你喜欢
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 2021-07-14
    • 2022-01-23
    相关资源
    最近更新 更多