Oracle的默认日期格式是YYYY-MM-DD,为什么?

21 浏览
0 Comments

Oracle的默认日期格式是YYYY-MM-DD,为什么?

Oracle的默认日期格式是YYYY-MM-DD。这意味着如果我执行以下操作:

 select some_date from some_table

...我会丢失日期的时间部分。

是的,我知道你可以通过以下方法“修复”这个问题:

 alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

但说真的,为什么上述内容不是默认设置呢?特别是在一个数据库管理系统中,两个主要的时间跟踪数据类型(DATE和TIMESTAMP)都有包含(至少)精确到1秒的时间组件。

0
0 Comments

Oracle选择使用YYYY-MM-DD作为默认日期格式的原因是因为这个格式是ISO 8601标准的一部分。ISO 8601是用于交换日期(和时间)信息的国际标准。Oracle采用这个格式是勇敢的,但同时也有些奇怪,他们没有完全按照标准去做。

一般来说,人们对任何不同的事物都抱有抵抗情绪,但采用这个日期格式有很多国际上的好处。我们应该接受ISO标准,即使我们一次只采用一点点。

以下是问题的原因和解决方法:

原因:

- Oracle选择使用YYYY-MM-DD作为默认日期格式的原因是因为这个格式是ISO 8601标准的一部分。

- ISO 8601是用于交换日期(和时间)信息的国际标准。

解决方法:

- 接受ISO标准,逐步采用这个日期格式。

0
0 Comments

Oracle数据库的默认日期格式是YYYY-MM-DD,为什么?

出现这个问题的原因是,如果使用这个查询来生成数据仓库的输入文件,那么需要适当地格式化数据。在这种情况下,需要将日期(包含时间部分)转换为字符串。需要显式地格式化字符串或更改nls_date_format来设置默认格式。在查询中可以简单地执行以下操作:

select to_char(some_date, 'yyyy-mm-dd hh24:mi:ss') my_date
  from some_table;

解决方法就是使用to_char函数将日期转换为字符串,并指定所需的格式。这样可以确保生成的输入文件中的日期以YYYY-MM-DD格式呈现。

这样做的好处是可以统一日期的格式,以便更好地处理和分析数据。同时,这也可以避免日期格式不一致导致的错误和混淆。

总之,如果需要将日期转换为字符串并按照特定格式显示,可以使用to_char函数,并指定所需的日期格式。这样可以解决Oracle默认日期格式为YYYY-MM-DD的问题。

0
0 Comments

Oracle数据库的默认日期格式是YYYY-MM-DD,为什么会出现这种情况?这是因为数据库本身没有日期格式,日期以原始形式从数据库中输出。日期的显示是由客户端软件来决定的,而SQL Developer使用的默认格式是YYYY-MM-DD,这几乎没有什么用处,我同意这一点。

在SQL Developer中,可以重新配置以正确显示日期值。具体操作是:在工具菜单中选择首选项,然后选择数据库,再选择NLS参数。在这里,可以设置13个参数来控制默认值。

虽然可以进行配置,但是为什么要给我点踩呢?我的观点仍然是这是客户端软件的一个方面,而不是数据库本身,这也是问题的重点。

我认为不依赖默认值的原则是普遍的,不依赖于具体的工具,所以我认为这并不是很相关。

0