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

Oracle SQL查询到\u日期

佴英奕
2023-03-14

我对Oracle SQL中的以下查询有疑问:

SELECT TO_DATE('10-11-2015','DD-MM-YYYY') FROM DUAL;

当我运行它时,结果如下所示:2015年11月10日。根据我在Oracle文档中读到的内容,YYYY应该转换为4位数的年份,但它转换为2位数的年份。为什么会这样?

共有3个答案

姜鸿
2023-03-14

使用以下选项可以更好:

从DUAL中选择TO_DATE('10-11-2015','DD-MM-RRRR');

王轶
2023-03-14

您可以通过使用提取()看到这没有发生:

SELECT EXTRACT( YEAR FROM TO_DATE('10-11-2015','DD-MM-YYYY') ) FROM DUAL; 

两位数年份只是价值的呈现方式。

巢权
2023-03-14

日期设置为4位数的年份。

但是,您将使用Oracle当前用于在用户会话中显示日期的默认格式显示日期。Oracle用于隐式日期转换的默认格式取决于地域。对于美国(除其他国家外),这是DD-MON-RR,年数为2位数;但对于瑞典,默认值为RRRR-MM-DD,将显示4位数的年份。

可以使用以下方法设置此格式:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR';

因此,如果使用以下方法将默认格式设置为YYYY-MM-DD(ISO-8601日期格式):

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';

然后您的查询:

SELECT TO_DATE('10-11-2015','DD-MM-YYYY') FROM DUAL;

将输出2015年11月10日。

如果您想要日期的特定格式,那么您不应该依赖隐式转换,因为任何用户都可以在任何时间设置自己的格式,并且您不会获得一致的输出;相反,您应该使用显式转换:

SELECT TO_CHAR( TO_DATE('10-11-2015','DD-MM-YYYY'), 'DD-MM-YYYY' ) FROM DUAL;

将于2015年11月10日输出。

 类似资料:
  • 在Crystal Reports中,我使用以下查询(针对Oracle数据库)为报表中的单个字段生成数据: 这可以很好地工作,并基于提供的{HB_As_At_Date}(the{?}语法是Crystal将参数值嵌入SQL(SQL)的方法。不过,上述查询的内容不是我的问题——我想做的是在几个不同的日期重复运行它,并将输出输入Crystal以供在报告中使用。 假设我希望在9月的每个星期一运行这个查询,我

  • 我一直在努力让tax_query在WP_Query工作。代码如下: 肯定有帖子类型为“谈话”——如果我去掉tax_query部分,正确的帖子显示得很好。有5个谈话使用正确的分类术语“周日谈话”(如果我试图使用ID而不是鼻涕虫,也不起作用)。 奇怪的是,如果我将帖子类型改为“post”,将分类法改为“category”,并省略“field”和“terms”部分,那么它会返回我唯一一篇没有任何术语的帖

  • 本实例使用有关日期处理和日期格式化的类实现一个日期查询的功能,即查询指定日期所在周的周一日期、两个指定日期间相差的天数和指定日期为所在周的星期几的日期 3 个功能。 从功能上来看,本实例至少需要定义 3 个方法,分别完成:获取指定日期所在周的周一日期、获取两个指定日期的相差天数以及获取指定日期为所在周的星期几的日期这 3 个功能,同时需要定义 Date 类型的日期与 String 类型之间的转换方

  • 如果日期相同,则使用进行查询将无法正常工作。它更像是。 但如果我给query param加上1秒,它就会工作。 下面是示例查询; 我有一个文档,它是时间戳。 此查询与日期为的文档相匹配,如果我将查询时间戳增加一个,如。 我正在使用mongo控制台,但我在php中遇到了与MongoDate相同的问题 编辑:查询的输出 edit2:问题是mongo的php扩展。它记录了“当文档发送到/从数据库发送时,

  • 我正在使用DocumentClient进行查询。并将无服务器框架与DynamoDb结合使用。 我试图查询BEGINS_WITH不提供任何主键。 以下是我的数据: 这是我的无服务器。yml[我猜是表格配置]: 问:使用DocumentCareet,我想查询的前几个元素。这将返回所有文档,即匹配。就像在这种情况下,我想查询,它会返回 目前我的查询如下所示[这给出错误][在本地DynamoDB JS s

  • 慢查询日志是 Redis 提供的一个用于观察系统性能的功能, 这个功能的实现非常简单, 这里我们也简单地讲解一下。 本章先介绍和慢查询功能相关的数据结构和变量, 然后介绍 Redis 是如何记录命令的执行时间, 以及如何为执行超过限制事件的命令记录慢查询日志的。 相关数据结构 每条慢查询日志都以一个 slowlog.h/slowlogEntry 结构定义: typedef struct slowl