Split range of dates into rows
Hi,
I have a table which basically has an account id and two dates (from and to). Sample data:
Account ID Balance Amt Valid From Valid To
100000524 104.32 29/07/2010 05/08/2010
100000524 104.32 03/11/2010 25/12/2010
100000365 104.32 29/07/2010 05/08/2010What I currently do is that I loop on each record (per Account and Order by valid From). Then each row I processed into this query to split it into multiple rows - final result should be that for each of the month on the range I'll get the last day of it. See below for results:
select account_id, balance_amt,
last_day(add_months(valid_from_dttm, level - 1)) as valid_to_dttm
FROM d
CONNECT BY LEVEL <= ( SELECT TRUNC( MONTHS_BETWEEN( LAST_DAY(valid_to_dttm),
TRUNC(valid_from_dttm, 'Month'))
) + 1 lvl
FROM dual )
Account ID Balance Amt Valid To
100000524 104.32 31/07/2010
100000524 104.32 31/08/2010 It's pretty slow since I do it row by row. Is there any other way (faster) to do this? Thanks.
I forgot to say is that one of the trouble I'm getting here is that the dates are overlapping e.g.:
Account ID Balance Amt Valid From Valid To
100000524 104.32 29/07/2010 05/08/2010
100000524 65 05/08/2010 25/10/2010
100000524 10 25/10/2010 20/12/2010So in this case the August month should only be displayed once with the value of 65 since it's the "latest".
Edited by: mortonmorton on Apr 25, 2011 2:14 AM
Edited by: mortonmorton on Apr 25, 2011 2:19 AM
Hi Guys,
I've tried both your queries and it's the same issue I'm getting which is duplicate rows of the month end dates. So using the model clause above (just tweaking the data):
with d as
( select 100000524 account_id, 104.32 balance_amt, to_date('29/07/2010','DD/MM/YYYY') valid_from_dttm, to_date('05/09/2010','DD/MM/YYYY') valid_to_dttm from dual union
select 100000524, 16.32, to_date('05/09/2010','DD/MM/YYYY'), to_date('25/12/2010','DD/MM/YYYY') from dual union
select 100000365 , 104.32, to_date(' 29/07/2010 ','DD/MM/YYYY'), to_date('05/08/2010','DD/MM/YYYY') from dual
select account_id, balance_amt, last_day(add_months(valid_to_dttm,-1)) new_valid_to_dttm
from d
model
partition by (account_id, balance_amt, valid_from_dttm, valid_to_dttm vtd)
dimension by (0 d)
measures (valid_to_dttm, valid_from_dttm vfd )
rules
valid_to_dttm[for d from 1 to
MONTHS_BETWEEN (LAST_DAY (valid_to_dttm[0]), TRUNC (vfd[0], 'Month') )
increment 1] = add_months(valid_to_dttm[cv()-1],1)
order by account_id, valid_to_dttm
ACCOUNT_ID BALANCE_AMT NEW_VALID_TO_DTTM
100000365 55.63 31/07/2010
100000365 55.63 31/08/2010
100000524 104.32 31/08/2010
100000524 104.32 30/09/2010
100000524 104.32 31/10/2010
100000524 16.32 30/11/2010
100000524 16.32 31/12/2010
100000524 16.32 31/01/2011
100000524 16.32 28/02/2011But expected output should be:
ACCOUNT_ID BALANCE_AMT NEW_VALID_TO_DTTM
100000524 104.32 31/07/2010
100000524 104.32 31/08/2010
100000524 16.32 30/09/2010
100000524 16.32 31/10/2010
100000524 16.32 30/11/2010
100000524 16.32 31/12/2010
100000365 55.63 31/07/2010
100000365 55.63 31/08/2010One thing to note here is the September month which had a final value of 16.32 - it overlapped the previous entry of 104.32.
Similar Messages
-
How to break range of dates into different months in mm/yyyy format
See the following eg:
MaterialNo Validfrom ValidTo RecordNo Value
A100 01.01.2007 13.05.2007 1000 1150/-
14.05.2007 24.08.2007 1001 1550/-
Now I want to break these dates into mm/yyyy format based on a condition. If the date(day) 15th lies in the range of dates
then it should pick that Value.
The output should be in this format.
MaterialNo Validfrom ValidTo Date RecordNo Value
A100 01.01.2007 13.05.2007 012007 1000 1150/-
022007 1000 1150/-
032007 1000 1150/-
042007 1000 1150/-
A100 14.05.2007 24.08.2007 052007 1001 1550/-
062007 1001 1550/-
072007 1001 1550/-
082007 1001 1550/-Hi Shiva,
In your Report Program, you can define the field of type sy-datum. And then fill the fields with the date. And then you can extract the rest of it manually by this small and simple lines of code. Once you have the date extracting logic then you can output the date in any manner according to your wish.
data : lv_date TYPE sy-datum.
data : lv_month TYPE c LENGTH 2.
data : lv_year TYPE c LENGTH 4.
data : lv_month_year TYPE c LENGTH 6.
lv_date = sy-datum.
lv_month = lv_date+4(2).
lv_year = lv_date+0(4).
CONCATENATE lv_month lv_year INTO lv_month_year.
Hope this helps.
Thanks,
Samantak. -
How to split string in data table row in c#
hi,
Binding List data in to data table,. in that table i have description column. this column data move to data table in sql server
here we facing problem for Description column
the description column having data is
<div class="ExternalClassE4908D8C25DF4D1586D0A010BFBC5A53">3400</div>
now we want only 3400 values i am using this code
ring Descrption = rows["Description"].ToString();
if (! string.IsNullOrEmpty(Descrption))
char[] splitString = new char[] { '<', '>' };
string[] parts = Descrption.Split(splitString,
StringSplitOptions.RemoveEmptyEntries);
// string[] Dec_1 = Dec.Split(new char[] { '<' }, StringSplitOptions.RemoveEmptyEntries);
rows["Description"] = parts[1].ToString();Hope the below helps as start..Modify
//Option1
Descrption = Descrption.Substring(0, Descrption.LastIndexOf("<"));
Descrption = Descrption.Substring(Descrption.LastIndexOf(">") + 1);
Console.WriteLine(" {0} ", Descrption);
//Option2
Console.WriteLine(" {0} ", Regex.Replace(Descrption, "<[^>]*>", string.Empty));
accordingly.. -
Split imported XML data into multiple text fields
I should first describe my final project because it is very possible that I am going about this entirely wrong!
I am trying to create an interactive PDF file which is the floor plan of our office, when you mouse over the office spaces it would popup the info for the person in that office, in fact when you click on the office space it would show additional info like computer MAC and jack numbers
I placed the floor plan as a layer and them created a second layer with no fill/no stroke rectangles over the offices and made them buttons (office01, office02)
I then made text fields with the info for the people, one for regular info and one for extra info (office01-data, office01-Xdata) I made these text fields buttons as well and had them "hidden until triggered"
These info fields are all on top of one another, as in the are all the same size and in teh same location
Then I went to the office buttons and created events "On Roll Over" "Show/Hide Buttons and Forms" and changed the visibility of the corresponding info button.
This works like a charm!
I hope I am clear up to this point.... my problem now is I would like to import this data both regular and extra from an excel spreadsheet or an XML file.
That way when we get new staff or people move offices or whatever I can update the spreadsheet or XML file, rerun my InDesign file and create a new interactive PDF
I have created the XML file
<staffMap>
<staff>
<name>John Doe</name>
<computerName<gfth56df</computerName>
<phoneMAC>00:08:00:AB:CD:EF</phoneMAC>
</staff>
<staff>
<name>John Smith</name>
<computerName<gfth06cb</computerName>
<phoneMAC>00:08:00:11:22:33</phoneMAC>
</staff>
</staffMap>
Created a new InDesign document
Imported the XML and placed it in a text field
saved as a template and closed it
Reopen and import the XML data again... and it brings it all into the text field... wonderful and useful but not what I need.
Is it possible to import the XML data into separate test fields, or into some other separate field that I can make into a button and show/hide?
I may end up just entering all the data directly into InDesign as I know this will work, it just does not seem like the right way to do it.
Thanking you all in advanceI am still looking to get some help with this.
I would love to know if it is not possible or any ideas at all -
How to split a delimited string into rows
Hi Everyone,
I have a field in my EMPLOYEE table named "OLD_USER_IDS" which stores all the old system ID's that the employee was once assigned to. This field is comma separated like so: "USERID1,USERID2,USERID3". My question is: how can I write a SELECT query that splits each individual User ID into its own row?
For example:
EMP_ID USER_ID
10 USERID1
10 USERID2
12 USERID3
15 USERID4
15 USERID5
15 USERID6
Thank You
-SamI think you should search this forum first for similar questions. I keep track of some interesting stuffs posted in this forum in a file, and from that
WITH t AS (SELECT 'USER1,USER2,USER3' str FROM DUAL
select substr(str,
decode(level,
1,
1,
instr(str, ',', 1, level - 1) + 1),
decode(instr(str, ',', 1, level),
0,
length(str),
instr(str, ',', 1, level) -
decode(level,
1,
0,
instr(str, ',', 1, level - 1)) - 1)) the_value
from (select str from t)
connect by level <=
length(str) - length(replace(str, ',')) + 1; -
Splitting a column data into 4 different columns
HI ALl,
I have a column that bring the data friom the database like this :
1.1.01 10.1 M10-08: This is the best deal ever
I want to split that up into 4 columns ( prefrebely in RPD) . 1 column will be 1.1.01, 2nd column as just M or Q ( Depending upon the data) . 3rd Column as M10-08. 4th Column as the vervbage ( eg : this is the best deal ever).
How would i do this. ANy help will be appreciated.
thanksHi user599926,
The Business Model and Mapping Layer (logical layer) in the RPD is the right place for this kind of change. Here's what you do
1) Import your physical table into the RPD
2) Drag and drop that table into a BMM folder
4) Right click on the logical table and select "New Object" -> "Logical Column..."
5) Give the column a name
6) Click on the Data Type tab
7) Double click on the Logical Table Source (LTS) *Make sure "Show all logical sources" is checked
8) Uncheck "Show mapped columns"
9) Check "Show unmapped columns"
10) you should now only see your new column.
11) Click on the three dots "..." next to the name of the column.
12) Use the SUBSTRING() function on your original field. E.g. SUBSTRING(FIELD1 FROM 1 FOR 6)
13) Hit OK
14) Hit OK
15) Repeat steps 4-14 for 2nd ,3rd and 4th column. They will just have a different FROM and FOR number.
Good luck!
-Joe -
Splitting the Idoc data into 2 diff files based on file content.
Hi Experts,
Mine is a SAP - XI - File Scenerio. A perticular Idoc when triggered has a segment 4 with a Field KONDART. This Segment 4 is optional in nature and can appear n nos of times. Initially KONDART carried a value ABCD and created a File called PLU, containing 14 fields.
Now the value of KONDART can carry ABCD as wll as many other values.
The current requirement is , if the Value of KONDART is ABCD , EFGH, etc etc , then it will create the PLU file as usual, but the moment the KONDART value is XYZ , then it will create the PLU as well as a new file called MRP, carrying only 4 fields .
I can understand that I need to make a new DT, MT , MI . I can' make out, if i call it in Messege Mapping the PLU as well as MRP structure and map them according ly, I simply cant make out , hw to make it conditional based on the content of KONDART.
Should I go for messege splittng, like in the second messege type , the Structure will get mapping data only if the KONDART Value is XYZ.
Is my understanding OK.
I think I can check this in Messege Mapping itself. calling 2 messege types and put a CREATEIF kind of logic for the KONDART = XYZ condition.
Pls correct me / Comment .
Regards,
Arnab Mondal.Hi,
If I have understood your problem correctly then the solutin can be like this..
First of all create two separate mappings as well as Interface mappings (based on your different data types).
In ID, just do the conditional "Interface Determination", so whenever your condition(s) will be true the respective interface mapping(s) will be triggered and offcourse create two CC respectively.
Now when you do the "Receiver Determination" assing correct CC to corresponding interfaces.
Regards,
Sarvesh -
Split the incoming data into multiple grouped output records
I have three fields in the source, Student ID, Student name and Student Marks. I need to map the details in the destination, by grouping the data on the basis of marks obtained. Each time there's a new mark , the corresponding details of names and student
ID is saved under the a new mark group that is created. how do i come about it when there are n number of new marks?for your scenario i used below xml as input,
<ns0:Students xmlns:ns0="http://BTSTempProj.StudentDetailsIn">
<Student>
<StudentID>StudentID_0</StudentID>
<StudnetName>StudnetName_0</StudnetName>
<StudentMarks>10</StudentMarks>
</Student>
<Student>
<StudentID>StudentID_0</StudentID>
<StudnetName>StudnetName_0</StudnetName>
<StudentMarks>20</StudentMarks>
</Student>
<Student>
<StudentID>StudentID_0</StudentID>
<StudnetName>StudnetName_0</StudnetName>
<StudentMarks>10</StudentMarks>
</Student>
<Student>
<StudentID>StudentID_0</StudentID>
<StudnetName>StudnetName_0</StudnetName>
<StudentMarks>10</StudentMarks>
</Student>
<Student>
<StudentID>StudentID_0</StudentID>
<StudnetName>StudnetName_0</StudnetName>
<StudentMarks>20</StudentMarks>
</Student>
<Student>
<StudentID>StudentID_0</StudentID>
<StudnetName>StudnetName_0</StudnetName>
<StudentMarks>30</StudentMarks>
</Student>
</ns0:Students>
and here is the output, hope this is what you are looking for.
<ns0:Students xmlns:ns0="http://BTSTempProj.StudentDetailsOut">
<StudentMarks>10</StudentMarks>
<Student>
<StudentName>StudnetName_0</StudentName>
<StudentID>StudentID_0</StudentID>
<StudentName>StudnetName_0</StudentName>
<StudentID>StudentID_0</StudentID>
<StudentName>StudnetName_0</StudentName>
<StudentID>StudentID_0</StudentID>
</Student>
<StudentMarks>20</StudentMarks>
<Student>
<StudentName>StudnetName_0</StudentName>
<StudentID>StudentID_0</StudentID>
<StudentName>StudnetName_0</StudentName>
<StudentID>StudentID_0</StudentID>
</Student>
<StudentMarks>30</StudentMarks>
<Student>
<StudentName>StudnetName_0</StudentName>
<StudentID>StudentID_0</StudentID>
</Student>
</ns0:Students>
Please find the below xslt which you can use, it is basically based on the Muenchian grouping suggested by Ashwin
<?xml version="1.0" encoding="UTF-16"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var" exclude-result-prefixes="msxsl var s0" version="1.0"
xmlns:ns0="http://BTSTempProj.StudentDetailsOut" xmlns:s0="http://BTSTempProj.StudentDetailsIn">
<xsl:output omit-xml-declaration="yes" method="xml" version="1.0" />
<xsl:template match="/">
<xsl:apply-templates select="/s0:Students" />
</xsl:template>
<xsl:key name="groups" match="Student" use="StudentMarks"/>
<xsl:template match="/s0:Students">
<ns0:Students>
<xsl:for-each select="Student[generate-id(.)=generate-id(key('groups',StudentMarks))]">
<xsl:sort select="StudentMarks" order="ascending"/>
<StudentMarks>
<xsl:value-of select="StudentMarks/text()"/>
</StudentMarks>
<Student>
<xsl:for-each select="key('groups',StudentMarks)">
<StudentName>
<xsl:value-of select="StudnetName/text()"/>
</StudentName>
<StudentID>
<xsl:value-of select="StudentID/text()"/>
</StudentID>
</xsl:for-each>
</Student>
</xsl:for-each>
</ns0:Students>
</xsl:template>
</xsl:stylesheet>
Regards, Amit More -
Converting column data into rows in oracle 10g
sample data:
PATID NA2 NA3 NA4
1 3 4 5
1 34 45 56
1 134 245 356
2 134 245 356
2 334 275 56
2 4 275 56
2 4 5 56
how to display the above data like
PATID NA2 NA3 NA4
1 ID1 ID2 ID3 ID4 ID1 ID2 ID3 ID4 ID1 ID2 ID3 ID4
3 34 134 4 45 245 5 56 356
2 134 134 4 4 245 275 275 5 356 56 56 56Many examples are here:
http://www.oracle-base.com/articles/10g/StringAggregationTechniques.php
(and you can do a search on this forum as well to find more)
edit
Your sample data is not very clear, by the way.
Please post a CREATE TABLE and some INSERT statements, just enough to put up the testcase.
Use the tag before and after posting examples, so formatting will be maintained.
See the [FAQ|http://forums.oracle.com/forums/help.jspa] for more information regarding tags (scroll a bit down)...
Edited by: hoek on Jan 26, 2010 5:23 PM -
Split flat file column data into multiple columns using ssis
Hi All, I need one help in SSIS.
I have a source file with column1, I want to split the column1 data into
multiple columns when there is a semicolon(';') and there is no specific
length between each semicolon,let say..
Column1:
John;Sam;Greg;David
And at destination we have 4 columns let say D1,D2,D3,D4
I want to map
John -> D1
Sam->D2
Greg->D3
David->D4
Please I need it ASAP
Thanks in Advance,
RH
sqlImports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports System.IO
Public Class ScriptMain
Inherits UserComponent
Private textReader As StreamReader
Private exportedAddressFile As String
Public Overrides Sub AcquireConnections(ByVal Transaction As Object)
Dim connMgr As IDTSConnectionManager90 = _
Me.Connections.Connection
exportedAddressFile = _
CType(connMgr.AcquireConnection(Nothing), String)
End Sub
Public Overrides Sub PreExecute()
MyBase.PreExecute()
textReader = New StreamReader(exportedAddressFile)
End Sub
Public Overrides Sub CreateNewOutputRows()
Dim nextLine As String
Dim columns As String()
Dim cols As String()
Dim delimiters As Char()
delimiters = ",".ToCharArray
nextLine = textReader.ReadLine
Do While nextLine IsNot Nothing
columns = nextLine.Split(delimiters)
With Output0Buffer
cols = columns(1).Split(";".ToCharArray)
.AddRow()
.ID = Convert.ToInt32(columns(0))
If cols.GetUpperBound(0) >= 0 Then
.Col1 = cols(0)
End If
If cols.GetUpperBound(0) >= 1 Then
.Col2 = cols(1)
End If
If cols.GetUpperBound(0) >= 2 Then
.Col3 = cols(2)
End If
If cols.GetUpperBound(0) >= 3 Then
.Col4 = cols(3)
End If
End With
nextLine = textReader.ReadLine
Loop
End Sub
Public Overrides Sub PostExecute()
MyBase.PostExecute()
textReader.Close()
End Sub
End Class
Put this code in ur script component. Before that add 5 columns to the script component output and name them as ID, col1, co2..,col4. ID is of data type int. Create a flat file destination and name it as connection and point it to the flat file as the source.
Im not sure whats the delimiter in ur flat file between the 2 columns. I have use a comma change it accordingly.
This is the output I get:
ID Col1
Col2 Col3
Col4
1 john
Greg David
Sam
2 tom
tony NULL
NULL
3 harry
NULL NULL
NULL -
I have data in a table that looks like below:
ColumnA ColumnB
123 abc|cde|fgr
345 def|ght|sew
890 deq|nmk|lop|lip|fre|dwsThere is no limit on how many values you can have in ColumnB and they are pipe delimited.
I need to split this one column into rows as:
ColumnA ColumnB
123 abc
123 cde
123 fgr
345 def
345 ght
890 fre
890 dwsThanks in advance!with sample_data as (
select 123 columna,'abc|cde|fgr' columnb from dual union all
select 345,'def|ght|sew' from dual union all
select 890,'deq|nmk|lop|lip|fre|dws' from dual
select columna,
regexp_substr(columnb,'[^|]+',1,column_value) columnb
from sample_data,
table(
cast(
multiset(
select level
from dual
connect by level <= length(regexp_replace(columnb || '|','[^|]'))
as sys.OdciNumberList
order by columna,
column_value
COLUMNA COLUMNB
123 abc
123 cde
123 fgr
345 def
345 ght
345 sew
890 deq
890 nmk
890 lop
890 lip
890 fre
COLUMNA COLUMNB
890 dws
12 rows selected.
SQL> SY. -
SAX parser splits up character data; I expected Ign. whitesp
Im am working on a XML parser for loading data from some back
end systems into an Oracle 8i database. I am using the SAX
parser for this purpose. After doing some tests with larger
amounts of XML data (> 1M), I found some unexpected behaviour.
The parser sometimes splits up character data into two chunks of
data. The XML looks as follows:
<TAGNAME> this is the character data </TAGNAME>
The parser raises the following events:
1 startElement name = "TAGNAME"
2 characters chbuf = " "
3 characters chbuf = "this is the character data "
4 endElement name = "TAGNAME"
I expected an ignorableWhitespace event at step 2. The XML
document contains repetitive tagnames. The strange thing about
the parse process is that the parser splits up the character
data only sometimes, and I can't determine any kind of logica
for this behaviour. Most occurrences of exactly the same tagname
and character data are parsed correctly (that is, as I
expected).
Am I dealing with correct behaviour here, or is it a bug??
Rolf.
nullOracle XML Team wrote:
: Rolf van Deursen (guest) wrote:
: : Im am working on a XML parser for loading data from some
back
: : end systems into an Oracle 8i database. I am using the SAX
: : parser for this purpose. After doing some tests with larger
: : amounts of XML data (> 1M), I found some unexpected
behaviour.
: : The parser sometimes splits up character data into two
chunks
: of
: : data. The XML looks as follows:
: : <TAGNAME> this is the character data </TAGNAME>
: : The parser raises the following events:
: : 1 startElement name = "TAGNAME"
: : 2 characters chbuf = " "
: : 3 characters chbuf = "this is the character data "
: : 4 endElement name = "TAGNAME"
: : I expected an ignorableWhitespace event at step 2. The XML
: : document contains repetitive tagnames. The strange thing
about
: : the parse process is that the parser splits up the character
: : data only sometimes, and I can't determine any kind of
logica
: : for this behaviour. Most occurrences of exactly the same
: tagname
: : and character data are parsed correctly (that is, as I
: : expected).
: : Am I dealing with correct behaviour here, or is it a bug??
: : Rolf.
: The behavior is expected and correct. Could you elaborate on
why
: you would expect the parser to treat the whitespace signalled
in
: step 2 as ignorable?
: Oracle XML Team
: http://technet.oracle.com
: Oracle Technology Network
Thank you for your quick response.
In my test XML, there are about 27500 tags containing character
data. All character data starts with a whitespace character.
After parsing the xml, the whitespace of only 5 (!) tags is
treated as a seperate character event (so two character events
are raised in succession). The remaining tags all raise only ONE
character event for the entire character data. I can't explain
the difference in treatment.
null -
Splitting comma seperated column data into multiple rows
Hi Gurus,
Please help me for solving below scenario. I have multiple value in single column with comma seperated values and my requirement is load that data into multiple rows.
Below is the example:
Source Data:
Product Size Stock
ABC X,XL,XXL,M,L,S 1,2,3,4,5,6
Target Data:
Product Size Stock
ABC X 1
ABC XL 2
ABC XXL 3
ABC M 4
ABC L 5
ABC S 6
Which transformation we need to use for getting this output?
Thanks in advance !Hello,
Do you need to do this tranformation through OWB mapping only? And can you please tell what type of source you are using? Is it a flat file or a table?
Thanks -
How to spool data into multiple Excel sheet if result is more then 65k rows
Hi all,
Wann spool data into multiple excel sheet bocz my resultant no of rows are more then 65k.
Thanks to all in advance.....many choices
1) migrate to a newer version of Excel
2) split the files after spooling
for instance with split
split -l65000 file.txtor with perl, java, vb or what-so-ever
3) do more than one report by using rownum
spool f1
select empno,ename from (select rownum r,empno,ename from emp order by empno) where r<6 ;
spool off
spool f2
select empno,ename from (select * from (select rownum r,empno,ename from emp order by empno) where r<11) where r>5 ;
spool off
spool f3
select empno,ename from (select rownum r,empno,ename from emp order by empno) where r>10 ;
spool off -
How to split columns into rows
Hi All,
Below is my table structure:=
SQL> create table split(id number,value varchar2(200));
Table created.
SQL> insert into split values(1,'X,Y,Z');
1 row created.
SQL> insert into split values(2,'A,B,C');
1 row created.
SQL> commit;
Commit complete.
Expected Output
ID Value
1 X
1 Y
1 Z
2 A
2 B
3 C
I know the feature of converting rows into columns by listagg in Oracle 11g, but is there any feature to convert rows into columns based on a delemiter..."," in my case.
Please help....
Thanks
Arijit>
is there any feature to convert rows into columns based on a delemiter
>
Here is one way
VAR csv VARCHAR2(100)EXEC :csv := 'abc,de,fg,hij,klmn,o,pq,rst,uvw,xyz';
The query:
WITH data AS( SELECT SUBSTR(csv, INSTR(csv,',',1,LEVEL)+1, INSTR(csv,',',1,LEVEL+1) - INSTR(csv,',',1,LEVEL)-1 ) token FROM ( SELECT ','||:csv||',' csv FROM SYS.DUAL ) CONNECT BY LEVEL < LENGTH(:csv)-LENGTH(REPLACE(:csv,',',''))+2 )SELECT token FROM data;See http://projectwownow.blogspot.com/2010/02/oracle-convert-csv-string-into-rows.html
Maybe you are looking for
-
i need to update my apps but it wont let me log in. my email address and password are correct as i can log into itunes through the computer it just wont let me through my phone? also it keeps asking me to enter my outlook passoword and telling me it
-
I can't seem to upload cover photos to FB from iPhoto, any suggestions on how to fix it?
I use iPhoto '11. I have Facebook connected to my iPhoto library. I am able to upload photos to new albums and change my profile photographs. However, I am not able to change my cover photos anymore. I was able to select a photo, go to "share", selec
-
Contract and scheduling aggremnt
hi i am sunil basically from BI consultant. when we go tcode ME33K , we need give aggrement no? how can i decide is it for contract or scheduling any other filed will decide ? field provide me some information Purchasing (MM-PUR) A longer-term arran
-
Aperture very slow loading the next image...
OK, I've trawled the forums but I can't find a specific answer. Firstly, I'm using a low spec iMac (2007 2.4GHz C2D with 4GB RAM, Radeon HD 2600 - 256MB VRAM on 10.8.2) but I'm not convinced this is the issue. When I navigate through photos (Sony Alp
-
I bought a time capsule. I've hooked it to the internet WAN to modem via ethernet. I've hooked it to my macbook pro via ethernet. I've hooked it to my printer via USB. I turned the time capsule on. I opened airport utility which made me make up