Date formatting in xpath
Hi,
I have a requirement to display the nearest date in the xml using xpath. So i used the following function to display the nearest date and it works,
min(/virtualMachine/diskVolume/capacityDepletionDate/xs:date(xs:dateTime(.)))
Now the prob is, I need to display the date in specific format. I need in the format of Aug 20, 2012.
But the above function gives me result as 2012-08-20+05:30. So could someone help me to format this output in the xml?
Thanks,
Anand.
Hi,
Which XQuery processor are you using?
Maybe it already implements the fn:format-date() function?
If not, you have to use a custom function :
declare function local:format-date($dt as xs:date) as xs:string
let $months := ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')
return concat( $months[fn:month-from-date($dt)]
, fn:day-from-date($dt)
, fn:year-from-date($dt) )
let $dt := xs:date("2012-08-20+05:30")
return local:format-date($dt)fn:month-from-date and alike have their counterparts working with dateTime datatype (fn:month-from-dateTime etc.), so ultimately, you can also pass directly a dateTime to the function without having to first truncate it.
Similar Messages
-
How do I retrive date field using Xpath
How do I retrive data,which is in date format in XML file using XPath query.
If this is not possible, Is there any other alternative?
ByeHi,
If suppose my xml file is like this,
<Xml>
<DataSet>
<BirthDate>1-Sep-1980</BirthDate>
<BirthDate>6-Aug-1982</BirthDate>
<BirthDate>3-Sep-1981</BirthDate>
<BirthDate>12-Jan-1985</BirthDate>
<BirthDate>1-Sep-1979</BirthDate>
</DataSet>
</Xml>
If I want to retrive Data,BirthDate between 1-Jan-1981 and 1-Jan-1984
How do I do that?
If it is not possible directly,Is there any other alternative?
Bye -
How to convert Milliseconds into Date format
Hi all,
I am getting the output of a variable in milliseconds format, how can I convert it into date format
For ex: I am getting input variable as 1366664691000 and I need to convert it to April 22, 2013 5:04:51 PM EDT ( or of SOA format). is there any function for this in XSL or XPath?
Thanks,It is working fine if i test it in provided site...
But it is returning "-1366664691001", If i am running it in EM. This is the code in my xsl
<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper
<!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
<mapSources>
<source type="WSDL">
<schema location="../JavaProcess.wsdl"/>
<rootElement name="process" namespace="http://xmlns.oracle.com/SampleApplication/JavaEmbeddingActivity/JavaProcess"/>
</source>
</mapSources>
<mapTargets>
<target type="WSDL">
<schema location="../JavaProcess.wsdl"/>
<rootElement name="processResponse" namespace="http://xmlns.oracle.com/SampleApplication/JavaEmbeddingActivity/JavaProcess"/>
</target>
</mapTargets>
<!-- GENERATED BY ORACLE XSL MAPPER 11.1.1.4.0(build 110106.1932.5682) AT [TUE MAY 07 10:21:02 EDT 2013]. -->
?>
<xsl:stylesheet version="1.0"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:med="http://schemas.oracle.com/mediator/xpath"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpmn="http://schemas.oracle.com/bpm/xpath"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:client="client"
exclude-result-prefixes="xsi xsl bpws xp20 mhdr bpel oraext dvm hwf med ids bpm xdk xref bpmn ora socket ldap">
<xsl:template match="/">
<xsl:variable name="lastMTime" select="1366664691000"/>
<xsl:copy-of select="$lastMTime"/>
<client:processResponse>
<client:result>
<xsl:value-of select='xsd:dateTime("1970-01-01T00:00:00") + $lastMTime * xsd:dayTimeDuration("PT0.001S")'/>
</client:result>
</client:processResponse>
</xsl:template>
</xsl:stylesheet> -
Hi Tim,
I am facing some issues with formatting the date using XMLP. The following is the sample XML data file i am using:
<LIST_G_HEADER>
<G_HEADER>
<QUOTE_HEADER_ID>1455</QUOTE_HEADER_ID>
<QUOTE_NUMBER>2027</QUOTE_NUMBER>
<QUOTE_VERSION>1</QUOTE_VERSION>
<QUOTE_NAME>Test GM Report - Rabindra</QUOTE_NAME>
<SOURCE_NAME>Fletcher, MR. Paul</SOURCE_NAME>
<QUOTE_DATE>27-OCT-2005</QUOTE_DATE>
<CURRENCY_CODE>GBP</CURRENCY_CODE>
</G_HEADER>
</LIST_G_HEADER>
The formatting i use for my date field i.e <QUOTE_DATE>, ends up either with NO formatting or giving me an error "[010906_114656657][][ERROR] Invalid XSD string: 27-OCT-2005 (XMLP Template Viewer)". The default formatting available with the form field dialog box (MS-Word) feature also doesn't work.
I have the following formatting for this field in the form field:
<?format-date:QUOTE_DATE; 'MEDIUM' ?>
When i read the user guide, it reads that the date should be in the canonical format i.e: YYY-MM-DDThh:mm:ss+HH:MM
However i am not getting the date from the base table's in this format. Is the error happening due to incorrect format or is there some other reason behind this? Please let me know, how can i overcome this issue.
Thx,
NitinAs i mentioned in another thread
substring function and date format
Please use this standards
<?xdofx:expression?>
for extended SQL functions or
<?xdoxslt:expression?>
for extended XSL functions.
Use like
<?xdofx:rpad(LAST_NAME),30, ’x’)?>
<?xdofx:Instr(’abcabcabc’,’a’,2))?>
<?xdofx:upper(char)?>
<?xdofx:lower (char)?>
<?xdofx:greatest ( expr [, expr]... )?>
ETC..... -
How can we give the Data Format (File Type ) in Runtime
Hi all,
How can we give the Data Format (File Type ) in Runtime for the following method,
cl_gui_frontend_services=>gui_download.
Thanks in advance
SriThere is a filetype parameter which you can set
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
* BIN_FILESIZE =
filename =
* FILETYPE = 'ASC'
* APPEND = SPACE
* WRITE_FIELD_SEPARATOR = SPACE
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = SPACE
* WRITE_LF = 'X'
* COL_SELECT = SPACE
* COL_SELECT_MASK = SPACE
* DAT_MODE = SPACE
* CONFIRM_OVERWRITE = SPACE
* NO_AUTH_CHECK = SPACE
* CODEPAGE = SPACE
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = SPACE
* TRUNC_TRAILING_BLANKS_EOL = 'X'
* IMPORTING
* FILELENGTH =
changing
data_tab =
* EXCEPTIONS
* FILE_WRITE_ERROR = 1
* NO_BATCH = 2
* GUI_REFUSE_FILETRANSFER = 3
* INVALID_TYPE = 4
* NO_AUTHORITY = 5
* UNKNOWN_ERROR = 6
* HEADER_NOT_ALLOWED = 7
* SEPARATOR_NOT_ALLOWED = 8
* FILESIZE_NOT_ALLOWED = 9
* HEADER_TOO_LONG = 10
* DP_ERROR_CREATE = 11
* DP_ERROR_SEND = 12
* DP_ERROR_WRITE = 13
* UNKNOWN_DP_ERROR = 14
* ACCESS_DENIED = 15
* DP_OUT_OF_MEMORY = 16
* DISK_FULL = 17
* DP_TIMEOUT = 18
* FILE_NOT_FOUND = 19
* DATAPROVIDER_EXCEPTION = 20
* CONTROL_FLUSH_ERROR = 21
* NOT_SUPPORTED_BY_GUI = 22
* ERROR_NO_GUI = 23
* others = 24 -
Need to convert into date format
Hi all,
I need to convert '2008-11-26T11:07:38-06:00' [YYYY]-[MM]-[DD]T[HH]:[MM]:[SS][TIMEZONE]
in format 'YYYY-MM-DD HH:MM:SS'.
Thanks in advance.>
Thank you for your reply
But it is giving me output as '26-NOV-08'
And I want in format '2008-11-26 07:38' i.e 'YYYY-MM-DD HH:MM'.
>
Then you are not looking for a date, You are looking for a string.
The date format that gets displayed is dependent on nls_date_format parameter.
If you want a string in the format you asked, then,
SELECT TO_CHAR ( TO_DATE ( '2008-11-26T11:07:38-06:00', 'YYYY-MM-DD"T"HH24:MI:SS"-06:00"'), 'YYYY-MM-DD HH24:MM:SS')
FROM DUAL;Or if you just want the date to be displayed like that then
Do,
SQL> alter session set nls_date_Format="YYYY-MM-DD HH24:MI:SS";
Session altered.
SQL> SELECT TO_DATE ( '2008-11-26T11:07:38-06:00', 'YYYY-MM-DD"T"HH24:MI:SS"-06:00"') dt
2 FROM DUAL;
DT
2008-11-26 11:07:38
SQL> G. -
Changing date format at reporting level
Hello,
Will u plz tell me how can i change the date format at reporting level?
I want to display date in dd/mm/yyyy, but by default its showing mm/dd/yyyy.
Delta is already loaded in the system, so i don't want to disturb regular data loading.
Is there any way so that i can change the format of date.
Plz help me out.
Thanks,
Regards,
SteveHi steve
There r so many postings on the same topic
go through these previous threads
date format
Date format
u can find solution
regards
Ravi Kiran -
How to convert the numeric to date format
HI ,
We have created the date KF and selected the data type as DEC-numeric or counter and add in the cube.
the data for this fields in the cube are in numerics like 734.504, but when we execute the report it is converted in to date format dd.mm.yyyy.
My issue how this conversion is working in the backend while executing the report.
Regards.
venkataConversion is happening because of the type you had selected for the KF while creating it.
Check the type of the Key figure?
While creating the KF you might have selected the Type as Date and Data type -DEC : Counter or amount field with comma and sign.
that's the reason why you are getting the output values displayed in dd.mm.yyyy format.
For amount field - create a KF with type "AMOUNT" and unit -0currency or specify the currency of that region.
regards
KP -
How to get Date Format from Local Object.
Hi All,
I am new to Web Channel.
I need to know Date format From date of locale.
suppose there is a date "01/25/2010" date in date field I want to get string "mm/dd/yyyy". Actually I have to pass date format to backend when I call RFC.
Is there any way to get Date format from "Locale" object. I should get date format for local object
I get local object from "UserSessionData" object but how to get Date format from it.
I am not looking for Date value. I am looking for current local date format ("mm/dd/yyyy or dd/mm/yyyy or mon/dd/yyyy) whatever local date format. I could not find example which show how to get date format from "Locale" object.
Any help will be appreciated with rewards.
Regards.
Web ChannelHi,
You can get it from "User" or "Shop" business object.
Try to get User or Shop Business Object as shown below.
BusinessObjectManager bom = (BusinessObjectManager) userSessionData.getBOM(BusinessObjectManager.ISACORE_BOM);
User user = bom.getUser();
char decimalNotation = user.getDecimalPointFormat().getGroupingSeparator();
If you are seeing "1,234.00" then above code will return "."
I hope this information help you to resolve your issue.
eCommerce Developer. -
How to change default Date format in BO 6.5 SP4
A problem with date display has been reported to me by one of our users - in BO 6.5 - since installing SP4.
The default date format is now MM/DD/YYYY
I have tried to recreate this on my PC and have been able to confirm that this is the case.
Most of our PC's will have two versions of Business Objects on them - for 5.1.6 and for 6.5 - that is the case for my PC.
If I create a new BO document based on a spreadsheet with three entries in the spreadsheet as follows:-
20/01/2009 20-Jan-2009 20th January 2009
This displays in BO 6.5 as
1/20/2009 1/20/2009 20th January 2009
My PC regional setting is UK and the time displays DD/MM/YYYY
Can you advise how to correct this problem please.Hi Sebastien
Thank you for your response.
I haven't checked Dimension in universe because this is happening even when datasource is an Excel spreadheet - as per details in previous post.
I have looked for *.sbo files and found one for ODBC.sbo in the Version 5 folders on PC - with date format details in it which I've changed - that doesn't make any difference.
Any other ideas?
Regards
Linda -
Date format issue in oracle database
Hi,
Back end : Oracle 11.2.0.2.0
Front end : Forms 11g
In our application we are facing issue with TO_DATE('DD/MM/YYY') Date format conversion.
Example: TO_DATE(P_date,'DD/MM/YYYY') giving the result as 20-Dec-0009
In the above eg the Parameter P_date is coming as '20-dec-09' from the front end (forms 11g)
The Nls_date_format parameter at database level is set as 'DD-MON-RR'
Its working fine after changing the conversion as TO_DATE(P_date,'DD/MM/RRRR') .- If we do like this , we need to change in many places , so instead of doing this, is there other solution wrt database settings/Application settings where we can change and fix this issue
pls help us to solve the issue.
Regards.
sathish k892913 wrote:
Hi,
Back end : Oracle 11.2.0.2.0
Front end : Forms 11g
In our application we are facing issue with TO_DATE('DD/MM/YYY') Date format conversion.
Example: TO_DATE(P_date,'DD/MM/YYYY') giving the result as 20-Dec-0009
In the above eg the Parameter P_date is coming as '20-dec-09' from the front end (forms 11g)
The Nls_date_format parameter at database level is set as 'DD-MON-RR'
Its working fine after changing the conversion as TO_DATE(P_date,'DD/MM/RRRR') .- If we do like this , we need to change in many places , so instead of doing this, is there other solution wrt database settings/Application settings where we can change and fix this issue
pls help us to solve the issue.
Regards.
sathish kWell the solution is right in front of you. As you say, your database environment is set to DD-MON-RR so your database is set to use 2 digit years (something most people moved away from with the millenium bug more than 10 years ago now). You can either change all your code to use RRRR as you've found, or change your database NLS setting to DD-MON-RRRR and change your front end application to pass you a date with 4 digit years so you get e.g. '20-dec-2009'.
So many people worked hard to resolve the millenium bug issues all those years ago, but still we have people, all these years later, who want to reintroduce the problem. So sad. -
Problem with SQL*Loader and different date formats in the same file
DB: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
System: AIX 5.3.0.0
Hello,
I'm using SQL*Loader to import semi-colon separated values into a table. The files are delivered to us by a data provider who concatenates data from different sources and this results in us having different date formats within the same file. For example:
...;2010-12-31;22/11/1932;...
I load this data using the following lines in the control file:
EXECUTIONDATE1 TIMESTAMP NULLIF EXECUTIONDATE1=BLANKS "TO_DATE(:EXECUTIONDATE1, 'YYYY-MM-DD')",
DELDOB TIMESTAMP NULLIF DELDOB=BLANKS "TO_DATE(:DELDOB, 'DD/MM/YYYY')",
The relevant NLS parameters:
NLS_LANGUAGE=FRENCH
NLS_DATE_FORMAT=DD/MM/RR
NLS_DATE_LANGUAGE=FRENCH
If I load this file as is the values loaded into the table are 31 dec 2010 and 22 nov *2032*, aven though the years are on 4 digits. If I change the NLS_DATE_FORMAT to DD/MM/YYYY then the second date value will be loaded correctly, but the first value will be loaded as 31 dec *2020* !!
How can I get both date values to load correctly?
Thanks!
SylvainThis is very strange, after running a few tests I realized that if the year is 19XX then it will get loaded as 2019, and if it is 20XX then it will be 2020. I'm guessing it may have something to do with certain env variables that aren't set up properly because I'm fairly sure my SQL*Loader control file is correct... I'll run more tests :-(
-
Problem with date format mask 'D'
I am experiencing an extremely thorny problem with the date format mask ‘D’. I am trying to use it to check whether today is a Monday. The variable v_temp_day is set to sysdate. For the last 4 weeks the code has behaved erratically – giving a different result at 02:00 than at 10:30 even though it is only taking account of the date. In desperation I inserted a debug statement formatting the date in a variety of ways – with interesting results. Oracle is somehow managing to tell us that today is simultaneously Monday and Tuesday depending on which format mask you choose. Anyone got any thoughts or suggestions?
PROC_ID TO_CHAR(STAMP_TIM
EVENT_SQLERRM
RRHKP010 17092007 02:00:00
TO_NUMBER( TO_CHAR( v_temp_day, D ) ) = 2. TO_CHAR( v_temp_day, D ) = 2. TO_CHAR( v_temp_day, DY ) = MON. TO_CHAR( v_temp_day, DAY )
= MONDAY . TO_CHAR( v_temp_day, Day DD-MON-YYYY HH24MISS ) = Monday 17-SEP-2007 020000. TO_CHAR( v_temp_day, D ) = 2.
SQL> select to_char( sysdate, 'D' ) from dual ;
T
1My book says the trunc(d,'iw') will return "same day of the week as Jan 1st of that year"It's bad book.
Please read about [url http://oraclesvca2.oracle.com/docs/cd/B10501_01/server.920/a96540/functions176a.htm#80159]TRUNC & 'IW' Format Model and [url http://oraclesvca2.oracle.com/docs/cd/B10501_01/server.920/a96529/ch3.htm#50331]Database Globalization Support Guide: First Calendar Week of the Year in the manual. -
Problem with date format when ask prompt web-intelligence
Bo XIR2 with 5 SP. Instaled on Windows 2003 with support Russian.
Inside BO every labels, buttons - use russian. But when invoke web-report and Prompt appear there is problem with date format.
Looks like korean format of date 'jj.nn.aaa H:mm:ss'. I see system settings of date in Win .. everything right
What i have to do?
Where i can change format date for bo?GK, try this...
decode(instr(packagename.functionname(param1 ,param2),'2400'), 0, to_date(to_char(to_date(rtrim(packagename.functionname(param1 ,param2),'(PT)'), 'Month dd, yyyy "at" hh24mi'),'mm/dd/yyyy hh24mi'),'mm/dd/yyyy hh24mi'),
to_date(to_char(to_date(rtrim(packagename.functionname(param1 ,param2),'(PT)'), 'Month dd, yyyy "at" "2400"')+1,'mm/dd/yyyy "0000"'),'mm/dd/yyyy "0000"'))-Marilyn -
Got one more problem Merilyn and Radhakrishnan...
Regarding the soln y provided me earler with the thread "Problem with date format"...
What is happening is....I am able to change the 2400 to 0000 but when it is changed from 2400 on jan 1st to 0000 the hour is changing but not the date....the date still remains as jan 1st instead of jan 2nd....
Eg: Jan 1st 2400 -- changed to -- jan1st 0000
instead of jan 2nd 0000
Could you please help me in this issue...
Thanks,
GKGK, try this...
decode(instr(packagename.functionname(param1 ,param2),'2400'), 0, to_date(to_char(to_date(rtrim(packagename.functionname(param1 ,param2),'(PT)'), 'Month dd, yyyy "at" hh24mi'),'mm/dd/yyyy hh24mi'),'mm/dd/yyyy hh24mi'),
to_date(to_char(to_date(rtrim(packagename.functionname(param1 ,param2),'(PT)'), 'Month dd, yyyy "at" "2400"')+1,'mm/dd/yyyy "0000"'),'mm/dd/yyyy "0000"'))-Marilyn
Maybe you are looking for
-
Error while installing an application to a workspace
We have received the following error a few times out of 40+ installations: ORA-20001: GET_BLOCK Error. ORA-20001: Execution of the statement was unsuccessful. ORA-00001: unique constraint (FLOWS_010600.WWV_FLOWS_ALIAS_IDX) violated <pre>begin wwv_flo
-
My Exported Slide Shows look bleary
I am making music videos with Iphoto, I expert them to Quicktime format to put up on the web, but the images look bleary. In particularly I made jpg slides with Keynote - images with text comments, saved to jpg format, through the files in to IPhoto,
-
How to set the date and time format from Windows Server 2008 R2
Hi, I want to control my client's date and time format as dd/mm/yyyy format and I need to do it using the windows server 2008 R2. How can I achieve this goal? Yoshika04
-
I have an update query which is not executing and giving me result as 0 UPDATE employee SET fullname = ?,cellphone = ?,homephone = ?,otherphone = ?,gender = ?,permaddr = ?,resaddr = ?,dob = ?,doj = ?,resignationgivenon = ?,lastworkingday = ?, modifie
-
Tools to migrate Essbase cubes to SSAS and Hyperion reports to SSRS
Hi, Is there any tool available to migrate 1)Essbase cubes to SSAS 2) Hyperion reports into SSRS I appreciate your guidance here. Thanks Naveen