![]() |
1
53
如果使用此查询为数据仓库生成输入文件,则需要适当地格式化数据。本质上,在这种情况下,您正在将日期(它确实有时间组件)转换为字符串。您需要显式格式化您的字符串或更改您的nls-date-u格式来设置默认值。在您的查询中,您只需执行以下操作:
|
![]() |
2
81
您确定不会将Oracle数据库与Oracle SQL Developer混淆吗? 数据库本身没有日期格式,日期以原始形式从数据库中输出。这取决于客户端软件来呈现它,而SQL开发人员 做 我同意,使用YYYY-MM-DD作为它的默认格式,这几乎是无用的。 编辑:正如下面所评论的,可以将SQL开发人员重新配置为正确显示日期值,它只是有错误的默认值。 |
![]() |
3
21
格式YYYY-MM-DD是 ISO8601 交换日期(和时间)信息的标准。 甲骨文很勇敢地接受了 国际标准化组织 像这样的标准,但同时,奇怪的是他们没有 一路走开 . 一般来说,人们抵抗任何不同的东西,但是有很多 good International reasons 为了它。 我知道我说的是革命性的东西,但我们都应该接受ISO标准,即使我们这样做了。 一点一点 . |
![]() |
4
12
Oracle最大的pita就是没有默认的日期格式! 在安装Oracle时,已选择了区域设置和安装选项的组合(非常合理!)YYYY-MM-DD作为输出日期的格式。另一个安装可能选择了“dd/mm/yyyy”或“yyyy/dd/mm”。
如果您希望SQL可移植到另一个Oracle站点,我建议您
总是
包装一个
或类似的。 |
![]() |
5
9
无论是日期格式、货币格式、优化模式还是其他什么,都不要依赖于默认值设置为特定值IMHO。您应该始终在服务器、客户机或应用程序中设置所需的日期格式值。 尤其是,在为显示目的转换日期或数字数据类型时,不要依赖默认值,因为对数据库的单个更改可能会破坏应用程序。始终使用显式转换格式。多年来,我在Oracle系统上工作,该系统的开箱即用默认日期显示格式是mm/dd/rr,这让我很恼火,但至少迫使我总是使用显式转换。 |
![]() |
6
7
大多数IDE都可以为某些数据配置默认掩码,如日期、货币、小数点分隔符等。 如果您正在使用 Oracle SQL开发人员 : 工具>首选项>数据库>NLS 日期格式:yyyy-mm-dd hh24:mi:ss |
![]() |
7
5
这是客户端的“问题”,而不是真正的Oracle问题。 这是一个客户端应用程序,它以这种方式格式化和显示日期。
在您的例子中,是SQL*PLUS进行这种格式化。
|
![]() |
8
4
根据SQL标准,日期值是YYYY-MM-DD。因此,即使Oracle存储时间信息,我猜想它们显示的值的方式与SQL标准兼容。在标准中,时间戳数据类型包括日期和时间信息。 |
![]() |
9
2
我不是甲骨文用户(好吧,最近无论如何),但是… 在大多数数据库中(用精确的语言),日期不包括时间。有约会并不意味着你在那个日期表示一个特定的秒。一般来说,如果你想要一个时间和日期,那就叫时间戳。 |
![]() |
10
1
Oracle同时具有日期和时间戳数据类型。 根据 Oracle documentation ,日期和时间戳之间的数据大小存在差异,因此,当希望只有日期字段时,显示日期格式是有意义的。另外,“它没有小数秒或时区。”—所以当需要时间戳信息时,它不是最佳选择。 日期字段可以很容易地格式化,以便在OracleSQL开发人员中显示时间组件。- Date query ran in PL/SQL Developer shows time, but does not show in Oracle SQL Developer . 但它不会显示小数秒或时区——为此,您需要时间戳数据类型。 |
![]() |
11
1
原因: 如果您查看的是一列带有时间戳的数据,那么最重要的信息就是年份。如果数据在数据库中保存了十年,那么需要知道这一点。所以一年比一年重要。 下一个月,然后是一天,一小时,一分钟,这是有道理的。客观地说,这些是显示时间数据最合理的顺序。 如果要默认显示数据,则只应显示数据中最重要的部分,因此默认情况下只显示Y-M-D。其他所有内容都可以显示,但默认情况下不会使SQL报表混乱。 如果显示Y-M-D,按日期排序是合乎逻辑的,因为它是连续的。计算机擅长按顺序排列,而且看起来很合乎逻辑。 最后。你想要M-D-Y的偏见就是你的偏见。不是每个人,甚至在美国都使用这种格式。所以,使用最符合逻辑的格式,不要在别人默认为合乎逻辑的时候生气。 (我是我们的孩子,我不代表先知。但是,我可以自己思考) |
![]() |
12
-1
要回答你的问题,那就是为什么默认日期不显示时间部分,我找到的唯一答案是 Oracle团队由懒惰的开发人员或负责人组成:—) 为什么? 因为日期、时间和日期时间数据类型存在于SQL中,而Oracle尚未实现它!!!! 这对甲骨文来说是一种耻辱。 但对您的问题的正确答案不是定义固定默认格式,而是只显示有效数字的有效默认格式,以便显示的日期、时间或日期时间值(默认情况下)始终包含所有重要数字。 例子:
原理很简单。 作为日期一部分的所有数字将始终显示为浮点数的整数部分。对于时间部分,只有有效部分显示为浮点数中的小数部分。 当然,对于时间类型(仅hh:mm:ss),永远不会显示日期部分。 |
|
Faiq Irfan · 如何在Java中更改日历实例的日期? 7 年前 |
![]() |
KuKeC · 如何从字符串android获取格式化日期? 9 年前 |
|
Nisha · 日期列删除小数[已关闭] 10 年前 |
|
Rajesh · 如何将日期转换为字符串MM/dd/yyyy格式?[已关闭] 11 年前 |
![]() |
soniccool · 将日期格式化为可读格式 11 年前 |