oracle10g - 更新oracle数据库中24小时日期时间字段中的小时数

标签 oracle10g

我正在尝试将日期时间字段中的时间更新为

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/

相关文章:

sql - 关于触发顺序

sql - 提取通用函数中两行之间的差异(Oracle 触发器)

sql - 当列名为 'DATE'(列名)时查询失败

c# - 将日期插入到 oracle

Oracle:通过联合等组合两个group by查询(使用聚合函数count())以获得合并结果

database - 在 Oracle 10g R2 中显示 IP 地址的命令?

java - 使用准备好的语句在 oracle 中插入日期

sql - 删除oracle结果列之间的差距

SQL-缺少右括号

sql - Oracle错误: ORA-01839: date not valid for month specified