我正在尝试将日期时间字段中的时间更新为
UPDATE table_name
SET col_name=to_DATE('04/02/2012 00:12:00','MM/DD/YYYY HH24:MI:SS')
WHERE col_name1='rer';
在数据库中更新后,输出
是这样的
'04/02/2012 12:12:00'
在“小时”字段中添加额外的 12
,
我怎样才能不向小时字段添加额外的 12
???
最佳答案
UPDATE 语句正常。它不会向您的日期列添加任何“额外 12”。您遇到的唯一问题是显示值。日期列不以任何特定格式存储其值,例如“MM/DD/YYYY HH24:MI:SS”,它包含二进制数据。当您使用这样的语句查询表时,例如
SELECT col_name FROM table_name
日期使用 session 的 NLS_DATE_FORMAT 显示,可能是“MM/DD/YYYY HH:MI:SS”。在此格式中,您的日期显示为“04/02/2012 12:12:00”。如果您在 session 中运行以下语句
ALTER SESSION SET NLS_DATE_FORMAT='MM/DD/YYYY HH24:MI:SS';
然后是您的查询
SELECT col_name FROM table_name
您将看到所需格式的日期。其他方法是使用 TO_CHAR 像
SELECT TO_CHAR(col_name, ''MM/DD/YYYY HH24:MI:SS') FROM table_name
关于oracle10g - 更新oracle数据库中24小时日期时间字段中的小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10026499/