Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何将此特定格式的当前日期正确设置到Oracle DB上的此insert查询中?_Sql_Database_Oracle_Rdbms - Fatal编程技术网

Sql 如何将此特定格式的当前日期正确设置到Oracle DB上的此insert查询中?

Sql 如何将此特定格式的当前日期正确设置到Oracle DB上的此insert查询中?,sql,database,oracle,rdbms,Sql,Database,Oracle,Rdbms,我不太喜欢数据库,我必须在Oracledb上实现一个insert this insert查询: insert into CODA_RX (PK_CODA, FK_TIPO_DOC, FK_PIVA_DESTINATARIO, DATA_IN, FK_STATO, DATA_OUT, CANALE, SIZE_XML, FK_PIVA_MITTENTE) values(70030, 5, 06655971007, '06-MAG-15', 2, '06-MAG-15', 'WEB'

我不太喜欢数据库,我必须在Oracledb上实现一个insert this insert查询:

insert into CODA_RX (PK_CODA, FK_TIPO_DOC, FK_PIVA_DESTINATARIO, DATA_IN, FK_STATO, DATA_OUT, CANALE, SIZE_XML, FK_PIVA_MITTENTE) 
       values(70030, 5, 06655971007, '06-MAG-15', 2, '06-MAG-15', 'WEB', 553, 01392380547); 
如您所见,有两个日期字段,分别命名为数据输入数据输出。在我的查询的上一个版本中,日期值是显式写入的(它是固定的:“06-MAG-15”)

如何使用此特定格式的当前日期'06-MAG-15'(DD-MM-YY)


Tnx

您需要使用
to_DATE()
将字符串转换为日期数据类型。例如:

截止日期('2015年5月6日'、'dd-MON-yyyy'、'nls\u日期\语言=英语')

请参阅以了解有关截止日期()的更多信息,可以找到格式掩码列表


相反,如果要以特定格式显示日期数据类型,可以使用带有适当格式掩码的
to_CHAR()

您需要使用
to_DATE()
将字符串转换为日期数据类型。例如:

截止日期('2015年5月6日'、'dd-MON-yyyy'、'nls\u日期\语言=英语')

请参阅以了解有关截止日期()的更多信息,可以找到格式掩码列表


相反,如果要以特定格式显示日期数据类型,可以使用带有适当格式掩码的
to_CHAR()

'06-MAG-15'
不是日期,而是字符串

  • 使用具有适当格式模型的TO_DATE将字符串转换为日期

  • 此外,最好避免NLS依赖关系

  • 另外,对于年份,请避免使用两位数的值。不要重新发明Y2K bug。或者,使用
    RR
    格式。但是,有些规则你必须知道。我更喜欢
    YYYY

比如说,

SQL> SELECT TO_DATE('06-MAY-2015', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH') FROM DUAL;

TO_DATE('
---------
06-MAY-15

SQL>
SQL> alter session set nls_date_format='MM/DD/YYYY HH24:MI:SS';

Session altered.

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
-------------------
05/21/2015 15:15:05

SQL>
如何将此特定格式的当前日期正确设置到Oracle DB上的此insert查询中

这与你在问题中解释的完全不同

记住,日期没有任何格式。您看到的是用于显示的,以便我们能够轻松地解释它。Oracle以专有格式在内部以
7字节的格式存储日期

如果要插入当前日期,则不需要任何文字和格式。使用SYSDATE

比如说,

SQL> SELECT TO_DATE('06-MAY-2015', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH') FROM DUAL;

TO_DATE('
---------
06-MAY-15

SQL>
SQL> alter session set nls_date_format='MM/DD/YYYY HH24:MI:SS';

Session altered.

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
-------------------
05/21/2015 15:15:05

SQL>

'06-MAG-15'
不是日期,而是字符串

  • 使用具有适当格式模型的TO_DATE将字符串转换为日期

  • 此外,最好避免NLS依赖关系

  • 另外,对于年份,请避免使用两位数的值。不要重新发明Y2K bug。或者,使用
    RR
    格式。但是,有些规则你必须知道。我更喜欢
    YYYY

比如说,

SQL> SELECT TO_DATE('06-MAY-2015', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH') FROM DUAL;

TO_DATE('
---------
06-MAY-15

SQL>
SQL> alter session set nls_date_format='MM/DD/YYYY HH24:MI:SS';

Session altered.

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
-------------------
05/21/2015 15:15:05

SQL>
如何将此特定格式的当前日期正确设置到Oracle DB上的此insert查询中

这与你在问题中解释的完全不同

记住,日期没有任何格式。您看到的是用于显示的,以便我们能够轻松地解释它。Oracle内部以专有格式存储日期,格式为
7 bytes

如果要插入当前日期,则不需要任何文字和格式。使用SYSDATE

比如说,

SQL> SELECT TO_DATE('06-MAY-2015', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH') FROM DUAL;

TO_DATE('
---------
06-MAY-15

SQL>
SQL> alter session set nls_date_format='MM/DD/YYYY HH24:MI:SS';

Session altered.

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
-------------------
05/21/2015 15:15:05

SQL>

数据输入和数据输出是什么数据类型?@Boneist哦,是的,我没有注意到。我将收回我的评论。数据输入和数据输出是什么数据类型?@Boneist哦,是的,我没有注意到。我将收回我的评论。