如何让Oracle识别英文日期格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让Oracle识别英文日期格式相关的知识,希望对你有一定的参考价值。
学习Oracle时做练习,需要插入的表中有date类型的值比如'21-Jun-04',执行语句后报了这个错误ORA-01843: 无效的月份
之后作了修改alter session set nls_date_format='DD-MON-YY'还是报同样的错误
又作了修改alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
结果又报错误ORA-01858: 在要求输入数字处找到非数字字符
我也知道把sql语句里的英文月份改成中文的就行了,但我不想这样,因为我用的是sql脚本,一改一大堆太麻烦了,问问各位高手有没有解决办法啊?
少了个:,在dd和hh中
如何更改 Oracle BI Publisher 中的日期格式?
【中文标题】如何更改 Oracle BI Publisher 中的日期格式?【英文标题】:How to change the date format in Oracle BI Publisher? 【发布时间】:2015-02-25 05:35:58 【问题描述】:如何在使用数据模型创建报告时更改日期格式,该数据模型是使用从数据仓库获取聚合数据的简单 SQL 查询创建的?我需要简单的 dd-mon-yy 格式的日期。我无法找到 BI Publisher 中存在格式选项的位置。我使用的 BI 组件是数据透视表。
订单问题:
尽管我已经在数据模型中对数据进行了排序,但数据在图表中的显示顺序仍然不正确。同样的事情在数据表上工作正常。见下文-
【问题讨论】:
在您的查询级别,to_date
和 to_char
是您的朋友。看我的回答。
【参考方案1】:
我需要简单的 dd-mon-yy 格式的日期。
您是否在查询中使用了正确的格式模型?
例如,
如果数据库中的日期值为20150225
,则需要先使用TO_DATE和相应的FORMAT MODEL将其转换为日期。
to_date('20150225','YYYYMMDD')
要以所需格式显示日期,只需使用 TO_CHAR 和所需格式模型:
to_char(to_date('20150225','YYYYMMDD'),'DD-MON-YYYY')
看看这个article。
更新关于图表中月份的字母排序
在web找到以下信息:
如果您正在使用 RTF 模板设计图表,请尝试以下操作:
-
右键单击图表图像 - 单击大小 - 单击 AltText 选项卡
将图表代码复制到记事本中
寻找标签ColLabels它会是这样的:
ColLabelsxsl:for-each select=".//G_1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xsl:sort order="ascending" select="FIRST_NAME"/Labelxsl:value-of select="FIRST_NAME" //标签/xsl:for-each/ColLabels
请查看已突出显示的排序顺序。在排序顺序中,您可以添加包含月/年组合的字段/列。如果您的图表使用分组功能,那么xsl:sort order="ascending" select="current-group()/FIRST_NAME"/
【讨论】:
该解决方案确实有效,但按照相同的思路,我将月份转换为“Mon-Yy”并创建了一个图表 - 现在月份已乱序 - 它们按字母顺序排列!跨度> to_char 仅在 select 中使用,在您订购时,只需按原始日期列订购。例如,SELECT to_char(hiredate, 'DD-MON-YYYY') FROM emp ORDER BY hiredate;
谢谢,我知道我们一般是怎么做的。因此,基本上发布者将按照与数据模型中相同的顺序获取数据。我们无法更改前端的顺序。对吗?
该工具将采用与您的语言环境特定的 NLS_DATE_FORMAT 相同的格式
虽然数据表显示的顺序与我使用的数据模型中规定的顺序相同,但图表仍显示月份的字母顺序。【参考方案2】:
-
选择列(类型:日期)
点击属性(左栏)
更改:格式化样式 (Oracle) 和格式化掩码 (DD/MM/YYYYY)
【讨论】:
【参考方案3】:这很简单。 按照导航。
双击该字段-> 选择类型为日期和日期格式为 dd-MMM-yyyy。 这应该可以解决您的问题
我想发布图片,但没有声誉。
这有什么帮助..
【讨论】:
以上是关于如何让Oracle识别英文日期格式的主要内容,如果未能解决你的问题,请参考以下文章