当前位置: 首页 > 知识库问答 >
问题:

oracle PL/SQL中的日期格式

卫浩瀚
2023-03-14

如何在oracle中检查表中特定列的日期格式?oracle日期数据类型是否能够存储这两种格式(美国和欧洲)?如果是这样,有没有办法区分哪个是月份,哪个是日期?

共有2个答案

东郭赞
2023-03-14

Oracle日期以内部二进制数据格式存储。显示格式由客户端处理,不存储。

这与数字相同,例如,根据to_char函数使用的格式掩码,相同的值可以显示为1000, 1,000.00, 1e3等。

萧晔
2023-03-14

在Oracle中,日期是一种二进制数据类型,由7个字节组成,分别表示

  1. 世纪
  2. 世纪之年
  3. 月份
  4. 小时数
  5. 分钟;和
  6. 第二个

它始终具有这些组件,并且从不以任何特定格式存储。

如何在oracle中检查表中特定列的日期格式?

它没有任何格式,因此您不能。

如果您想查看DATE的二进制值,您可以使用DUMP函数:

SELECT DUMP(date_column) FROM table_name;

oracle数据类型是否能够存储这两种格式(美国和欧洲)?

不,它从不存储任何格式。

如果要存储格式化数据,请使用字符串数据类型;然而,对于日期来说,这通常被认为是不好的做法,因为如果同时使用日/月/年和月/日,这会在日和月之间产生歧义。最佳做法是将日期存储为日期,然后在显示日期时选择适当的格式。

如果要显示日期类型,则可以使用to\u CHAR功能,并指定与要显示的区域相适应的格式模型。

SELECT TO_CHAR(date_column, 'DD/MM/YYYY HH24:MI:SS') AS eu_format,
       TO_CHAR(date_column, 'MM/DD/YYYY HH24:MI:SS') AS us_format,
       TO_CHAR(date_column, 'YYYY-MM-DD"T"HH24:MI:SS') AS iso8601_format
FROM   table_name

数据库

此答案中列出了不同区域的默认格式模型(SQL引擎在将字符串隐式转换为日期时使用,反之亦然,或某些客户端应用程序用于显示日期)。

 类似资料:
  • 问题内容: 如何在SQL中获取星期几(以ddd格式,所以是Mon,Tue等)?我在CAST和CONVERT文档中什么都没看到。 问题答案: 有很多方法可以做到,这是一种方法:

  • 我在PHP应用程序中使用Twig, 我使用的PHP对象有一个名为“date”的属性,该属性来自SQL Server。 看起来像:“三月2 2014 12:00:00:000” 我尝试使用Twig将其转换为显示,我尝试使用| date(“Y-m-d”),但没有成功: 在呈现模板期间引发异常(“DateTime::u构造()[function.DateTime---construct]:未能分析“…”

  • 我的日期列值是字符串格式,显示的值像“44370.4087037037”、“44370.4087384259”。而我希望它们是MM/DD/YYYY HH: MM格式。我必须在Oracle中输入它到数据库中。我的查询是- 我应该如何转换它?我试图\u DATE,convert,cast-不起作用-出现错误-[错误]执行(5:23):ORA-00907:缺少右括号

  • 问题内容: 如何检查SQL Server中日期字符串是否为MM / DD / YYYY格式? 问题答案: 如果结果为1,则为有效日期,但不能保证其为用户指定的日期。如果他们输入: 没有办法知道是6月7日还是7月6日。最好的办法是让用户从下拉列表或日历控件中选择日期,这使您可以控制格式并避免不必要的解释。您的应用程序层可以使用强类型变量/参数,然后插入正确类型的列中。

  • 嗨,我正试图将数据从一个文件加载到Oracle中的一个表中,但我遇到了一个错误ORA-01843:在插入日期时不是一个有效的月份。 干杯