Finding first occurrence of a numeric data in a string
Hi
Can you please suggest me in this.
I have a data set like following..
'LOMBORD 123'
'LOMBORDD'
'LOMBORDD45'
Here how i will ffind the first occurance of the numeric valu in each string there may be a space charecter like 'LOMBORD 123' .
As my database version is 9i i can't use regular expression.
Thanx in advance
Maybe something like:
SQL> set feedback on
SQL> WITH test_tab AS
2 (SELECT 'LOMBORD 123' col_1
3 FROM DUAL
4 UNION ALL
5 SELECT 'LOMBORDD'
6 FROM DUAL
7 UNION ALL
8 SELECT 'LOMBORDD45'
9 FROM DUAL)
10 -- end of test data
11 SELECT col_1,
12 TRIM (TRANSLATE (col_1, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', ' ')
13 ) numbers_in_col,
14 NVL
15 (INSTR (col_1,
16 TRIM (TRANSLATE (col_1, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', ' ')),
17 1,
18 1
19 ),
20 0
21 ) position_of_numbers
22 FROM test_tab
23 /
COL_1 NUMBERS_IN_COL POSITION_OF_NUMBERS
LOMBORD 123 123 9
LOMBORDD 0
LOMBORDD45 45 9
3 rows selected.
SQL> Regards,
Jo
Edit: Way tooooooooo slow.....
Similar Messages
-
Grep to find first occurrence of a particular word in a story
Hello Grepers
I haven't had luck working out a Grep to find first / last occurrence of a particular word in a story.
To find the first occurrence of the word hello in a paragraph I would use this grep.
(Hello(?!=Hello*$))
For the last this works.
((?=Hello(?=.*Hello)))|(Hello(?!=Hello*$))
I have tried single line and multiline prefixes but they don't do the trick.
Waiting in suspence,
TrevorHi Marc,
Thanks for your reply, I'm glad you got my subtle hints.
1) First Hello in the paragraph(s)
Marc Autret wrote:
Also, it seems to me that the GREP patterns you've posted are wrong and only work by accident. For example:
(Hello(?!=Hello*$))
actually means: find 'Hello' if and only if the match is not followed by '=Hell' and 'o' zero or more times and an EOL.
Well Marc I made a Hell of a mistake!!!
I meant to write (Hello(?!=Hello.*$)) with a dot there which at least is not quite as stupid if not more correct.
In fact both (Hello(?!=$)) without a . and Hello(?!=^) work, well sort of work for the first Hello of the paragraph(s) depending on the were one start the search from (before the first Hello works otherwise it will find the next "first" Hello of the paragraph.
I said sort of because I naively presumed that GREP styles would work like GREPS, dumb hey.
I was really looking to use these GREPS in GREP styles, well you can't.
In a GREP style
(Hello(?!=$)) or any of its variants will apply the style to all occurrences of Hello in the paragraph.
I can partially circumvent this problem by adding a second GREP STYLE which applies an anti style to all words after the first Hello (?<=Hello).*
i.e. I have a want my first Hello to be bolded then set the first style for bold and the second to regular.
This however is not practical if one wants to auto style more than one word in this way in other words to do the same for the first Hi and the first Hello in the paragraph.
As a regular GREP solution providing that one starts the GREP search before the first occurrence of Hello It will work.
2 & 4) First and Last Hello in the story
Again these GREPs don't work using GREP styles, this I think is because GREP paragraph styles only look within the one paragraph at a time they are applied to. So they can't look at the preceding or following paragraphs to see if they contain Hello or not.
If I am correct I see no work around to this and am will to pay 10 Pounds, Euros or Dollars to whoever comes up with a non-script fully functional GREP styles solution for this (I think my money's safe)
Regarding the regular non styled GREPs they nearly work as stated.
When (?s)(Hello)(?!.*?\1) is used to find the last occurrence of Hello in the story, if the find tab is used it will firstly find the last Hello of the story then it will go back and find the one before that!! then it will go onto the next story.
Using the GREP in script works as stated.
The easiest way of course to find the first and last Hello in a story, document etc. by script would be
app.findGrepPreferences.findWhat = Hello"
myFinds = myWhatEver.findGrep();
First occurrence myFinds[0], last occurrence myFinds[-1].
HOWEVER NOT PARTICULARLY EFFICIENT!
3) Last occurrence of Hello in paragraph.
This one works perfectly both with regular GREPS and GREP styles.
In summary
GREP STYLES: only the (Hello)(?!.*?\1) last Hello in the paragraph GREP works.
GREP FIND TAB: the first Hello in the paragraph GREP finds the first Hello after the cursor, the first in the story works in the limited way as written, last in story has the problem of finding the second last Hello after finding the last Hello, Last in paragraph works flawlessly.
GREP SCRIPTING: all work without problem except for the first Hello in the story that has the problem of needing to extract the last 5 letters which for my automatic text / GREP changer is a bit of a problem but for general scripting would not be problematic.
Once again Marc thanks for your input, I doubt there's much if anything to add on the topic maybe Laurent Tournie from indigrep.com might have some ideas. I don't know his contact details so if you think it's a good idea please can you send him a tweet / mail.
Regards
Trevor -
How to get numeric data from a string using t-sql
Hi All,
I have a table with 2 columns ID as Int and Message as nvarchar(max)
Create table Sample
ID int not null,
Message nvarchar(max) null,
CONSTRAINT [PK_ID_Msg] PRIMARY KEY CLUSTERED
ID asc
Insert statement:
INSERT INTO
Sample (ID, Message)
VALUES (1, 'X_YRS: 00 ; X_MONS: 18 ; X_DAYS: 000 ; Y_YRS: 00 ; Y_MONS: 16 ; Y_DAYS: 011 ; Z: 1 ; Z_DATE: 09/04/2014
INSERT INTO Sample (ID, Message) VALUES (2, 'X_YRS: 01 ; X_MONS: 15 ; X_DAYS: 010 ; Y_YRS: 00 ; Y_MONS: 18 ; Y_DAYS: 017
; Z: 1
; Z_DATE: 06/02/2012')
Data in the table looks like:
ID Message
1 X_YRS: 00 ; X_MONS: 18 ; X_DAYS: 000 ; Y_YRS: 00 ; Y_MONS: 16 ; Y_DAYS: 011 ; Z: 1 ; Z_DATE: 09/04/2014
2 X_YRS: 01 ; X_MONS: 15 ; X_DAYS: 010 ; Y_YRS: 00 ; Y_MONS: 18 ; Y_DAYS: 017 ; Z: 1 ; Z_DATE: 06/02/2012
Need out put as below, just with numeric data:
ID X-Column Y-Column
1 00 18 000 00 16 011
2 01 15 010 00 18 017
So, please I need t-SQL to get above output.
Thanks in advance.
RH
sql;With CTE
AS
SELECT s.ID,RTRIM(LTRIM(STUFF(Val,1,CHARINDEX(':',Val),''))) AS Val,RTRIM(LTRIM(LEFT(Val,CHARINDEX('_',Val+'_')-1))) AS Pattern,
--ROW_NUMBER() OVER (PARTITION BY LEFT(Val,CHARINDEX('_',Val+'_')-1) ORDER BY RTRIM(LTRIM(STUFF(Val,1,CHARINDEX(':',Val),'')))*1)
f.ID AS Seq
FROM Sample s
CROSS APPLY dbo.ParseValues(s.[Message],';')f
WHERE ISNUMERIC(RTRIM(LTRIM(STUFF(Val,1,CHARINDEX(':',Val),'')))+'0.0E0')=1
SELECT ID,
STUFF((SELECT ' ' + Val FROM CTE WHERE ID = c.ID AND Pattern = 'X' ORDER BY Seq FOR XML PATH('')),1,1,'') AS XCol,
STUFF((SELECT ' ' + Val FROM CTE WHERE ID = c.ID AND Pattern = 'Y' ORDER BY Seq FOR XML PATH('')),1,1,'') AS YCol,
STUFF((SELECT ' ' + Val FROM CTE WHERE ID = c.ID AND Pattern = 'Z' ORDER BY Seq FOR XML PATH('')),1,1,'') AS ZCol
FROM (SELECT DISTINCT ID FROM CTE)c
ParseValues can be found here
http://visakhm.blogspot.in/2010/02/parsing-delimited-string.html
Numeric check logic is as per below
http://visakhm.blogspot.in/2014/03/checking-for-integer-or-decimal-values.html
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
How to use "FIND FIRST OCURRENCE...." with a very long text
When I store a certain text in variable p_texto -> FIND FIRST OCURRENCE is ok; sy-subrc = 0.
When Instead of assigning a text I read a long text from an excel into p_texto variable ->
FIND FIRST OCURRENCE is not working; sy-subrc = 4.
DATA: p_texto(5000).
DATA: posicion TYPE match_result.
p_texto = 'HI THIS IS THE FIRST LINE#AND THIS ONE THE SECOND LINE'.
FIND FIRST OCCURRENCE OF '#' IN p_texto RESULTS posicion.
How could I manage this problem?
Thank you very much in advance.As I told you before, the problem is not the length of the line.
The problem is that you see in your variable "#", but it is not "#". It could be a carriage return, a tabulator or other character that doesn't know how to display.
In my opinion you should search for cl_abap_char_utilities=>newline.
Regards
Andrea -
How do I combine text with numerical data in an array?
I an acquiring analog data in real time, and I am able to create, output, and save the data, but I would like to place comments next to specific measurements. How do I do that in Labview 7.0 Express? I can place numbers at in a column next to my measurements, but i cannot cobine text and numbers into one array to save and read with excel... Thank you!
theukraniantheukranian,
Convert the numeric data to a string before saving it.
dmourer -
Find first date of open FI periode
Hi gurus!
I want to check if the FI period is closed or not. If it is closed I want to find the open period, and then the first date in this period. How would you solve this?
check if FI period is closed.
If period is closed.
- find open period.
- find first date of open period.
endif.
<removed_by_moderator>
Kind regards,
Oyvind
Edited by: Julius Bussche on Oct 27, 2008 12:22 PMuse fm's FI_PERIOD_DETERMINE and PERIOD_CHECK
use the result for first date:
concatenate e_gjahr e_monat '01' into xdate.
A. -
Query to find first and last call made by selected number for date range
Hi,
query to find first and last call made by selected number for date range
according to filter:
mobile_no : 989.....
call_date_from : 25-april-2013
call_date_to : 26-april-2013
Please helpHi,
It sounds like you want a Top-N Query , something like this:
WITH got_nums AS
SELECT table_x.* -- or list columns wanted
, ROW_NUMBER () OVER (ORDER BY call_date ) AS a_num
, ROW_NUMBER () OVER (ORDER BY call_date DESC) AS d_num
FROM table_x
WHERE mobile_no = 989
AND call_date >= DATE '2013-04-25'
AND call_date < DATE '2013-04-26' + 1
SELECT * -- or list all columns except a_num and d_num
FROM got_nums
WHERE 1 IN (a_num, d_num)
;This forum is devoted to the SQL*Plus and iSQL*Plus front ends. This question doesn't have anything to do with any front end, does it? In the future, you'll get better response if you post questions like this in the PL/SQL.
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and also post the results you want from that data.
Explain, using specific examples, how you get those results from that data.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the SQL forum FAQ {message:id=9360002} -
How to find first non zero value from the numeric value or string?
Hiii, Every body
I have one numeric indicator in which some valuse is coming with the decimal value, lets say 0.00013, now i want to find the first non-zero value from this numeric indicator, then what should i do to do so? i have converted it in the string, but i could not find any method to find first non-zero value from that string or either from the numeric indicator????
Can you please help me, how to do it? i have attached the vi and write all the description inside.
Thanks in Advance,
Nisahnt
Attachments:
Find first nonzero.vi 20 KBJust convert it to an exponential string and take the first character .
Message Edited by altenbach on 05-10-2006 08:00 AM
LabVIEW Champion . Do more with less code and in less time .
Attachments:
FisrstNonzeroChar.png 3 KB
FindFirstNonzeroCharacter.vi 20 KB -
Find All Occurrences always fails within loop
Dear forumers,
There's this strange problem that requires a fix.
Finding all occurences of '#' works fine here:-
REPORT zz_test.
DATA: lv_text TYPE string,
ls_result TYPE match_result,
et_release type table of yytc_release,
lt_result TYPE match_result_tab.
lv_text = '"RFC-1234#Create ""Payroll"" under NL directory"'.
FIND ALL OCCURRENCES OF REGEX '#'
IN lv_text
RESULTS lt_result IGNORING CASE IN CHARACTER MODE.
IF sy-subrc = 0. " SY-SUBRC is always 0
READ TABLE lt_result INTO ls_result INDEX 1.
WRITE :'Offset: ' .
WRITE: ls_result-offset .
WRITE: lv_text+00(ls_result-offset).
ENDIF.
But it always fails here, within a loop at an internal table:-
SELECT * .... INTO TABLE it_jira ...
LOOP AT it_jira ASSIGNING <jira>.
<release>-summary = <jira>-summary.
IF <release>-type CS 'Subtask'.
" <release>-summary is of data type CHAR255
PERFORM get_subtask USING <release>-summary.
ENDIF.
ENDLOOP.
FORM get_subtask USING pv_summary TYPE yytc_release-summary.
DATA:
lv_string TYPE char255,
lv_final TYPE char255,
lv_summary TYPE string,
lv_strlen TYPE i,
lt_result TYPE match_result_tab.
lv_string = pv_summary. " LV_STRING = '"RFC-1234#Create ""Payroll"" under NL directory"''
CONDENSE lv_string.
lv_strlen = STRLEN( lv_string ).
lv_strlen = lv_strlen - 1.
IF lv_string+0(1) = '"' AND lv_string+lv_strlen(1) = '"'.
lv_strlen = lv_strlen - 1.
WRITE lv_string+1(lv_strlen) TO lv_final+1(254).
ENDIF.
lv_summary = lv_final.
" FIND ALL OCCURRENCES OF '#'
" IN lv_summary
" RESULTS lt_result IGNORING CASE. * SY-SUBRC is always 4 here too
FIND ALL OCCURRENCES OF REGEX '#'
IN lv_summary
RESULTS lt_result IGNORING CASE IN CHARACTER MODE.
IF sy-subrc = 0. " SY-SUBRC is always 4 here - why?! :(
ENDIF.
CLEAR: lv_string,
lt_result.
ENDFORM. " GET_SUBTASK
Only when the string LV_SUMMARY is edited from within the debugger (add space to the string prefix, etc), the SY-SUBRC will be 0 and there'll be data found in LT_RESULT.
How can I resolve this issue? Please do help. Thanks.I think the subtle difference is that in your first example the character is actually '#' whereas in the second example it is actually another (unprintable)value such-as line-feed and only APPEARS to be '#'.
You must find out what the value in question is(will it always be the same value?) and then replace that instead of '#'. -
I am trying to get "First day of the week" data from CLDR spec24 but cannot find where to look for it in the spec. I need this data to calculate numeric value of "LOCAL day of the week".
This data to implement "c" and "cc" day formats that equals numeric local day of the week.
e.g if "First day of the week" data for a locale is 2 (Monday) , it means numeric value for local day of the week will be 1 if it is Monday that day, 2 if it is Tuesday that day and likewise.Hi
If you want to week to be started with Sunday then use the following formula:
TimestampAdd(SQL_TSI_DAY, 1-DAYOFWEEK(Date'@{var_Date}'), Date'@{var_Date}') if it's retail week(starts from Monday) then the follow below:
TimestampAdd(SQL_TSI_DAY, 1-DAYOFWEEK(Date'@{var_Date}'), Date'@{var_Date}')
I'm assuming var_Date is the presentation variable for prompt...
Edited by: Kishore Guggilla on Jan 3, 2011 4:48 PM -
Find the number of consecutive numeric digits in string
I am trying to see if a string has say 9 consecutive numeric digits in it but it will only work if the long string of numbers is the first string of numbers.
e.g.
This would recongnise the following string (if p_len = 9)
Tel number 20 20 30 369 for 2nd meeting
but would not recongnise the following
For 2nd meeting tel 20 20 30 369
Could anyone give guidance on how to proceed / a better way of find consecutive numbers in a string?
Thanks
Simon
Code sample -
LOOP AT TLINETAB.
Remove blank spaces
CONDENSE TLINETAB-TDLINE NO-GAPS.
Find first number and its position *
IF TLINETAB-TDLINE CA '0123456789'.
pos = sy-fdpos.
Does the next x characters contain only numbers?
IF TLINETAB-TDLINE+pos(p_len) CO '0123456789'.
append i_report.
endif.
ENDIF.
ENDLOOP.Dear Simon,
you want to check for consecutive numbers in a string. Then you may do the following -
1. Get all the numbers in the given string into a table in a sequencial order, that is the order in which they appear in the string
2. Once you have all the numbers you may find out if the numbers are consecutive or not. The following is the code which is not tested
lv_len = 1.
lv_pos = 1.
lv_strlen = strlen ( lv_str ).
do lv_strlen times.
lv_alpha = lv_str+lv_pos(lv_len).
if lv_alpha co '0123456789'.
append lv_alpha to lt_number.
endif.
lv_pos = lv_pos + 1.
enddo.
loop at lt_number into ls_number.
if lv_no is initial.
lv_no = ls_number.
lv_no = lv_no + 1.
else.
if ls_number eq lv_no and
lv_consec is initial.
lv_consec = c_x.
else.
clear lv_consec.
endif.
endif.
endloop.
if lv_consec eq c_x.
* !!! string has consecutive numbers
endif.
Hope it helps. Thank you.
Regards,
kartik -
Incorrect numeric date displayed in month view
today is Saterday July 1st however when I open iCal it shows the current date to be Friday June 30th... (the icon on the dock is correct showing the 1st) In day and week views iCal believes that the current date is Friday June 30th however stranger things happen when viewing by month. Here the current DAY is correct (showing Saturday in light blue) however all of the numeric DATES are shifted ahead by one. My calendar shows the first day of July being Sunday with the 4th of July being Wednesday. All the events in the calendar are on the correct DAY ie, the 4th is on Tuesday, etc. Also the top of the month window says "June 2006" even though I am looking at the events in July.
Very strange... any ideas on what is happening are appreciated. Oh and the date on the computer is correct... go figure.
Thanks
PowerBook G4 Ti Mac OS X (10.4.7)
PowerBook G4 Ti Mac OS X (10.4.7)The real answer is given: No, this is not configurable as it depends on how many weeks a month spans; rarely this is 4 weeks, most often this is 5 weeks, sometimes this is 6 weeks. It is called the "'Month" view, not the "4-weeks view" or anything like
that.
Your feature request is of course valid and to submit it as such, it is best to contact Microsoft Support by phone. You may need to provide credit card information to open a case but it of course won't be charged for a feature request. You'll get a reference
ID so you can track the status of your request.
You may want to refine your request with a business case as well and give a clear example of what you want it to look like and what exactly should be configurable.
For instance, the default Multi-Week View should show; last week, this week and the next 2 weeks.
Robert Sparnaaij
[MVP-Outlook]
Outlook guides and more: HowTo-Outlook.com
Outlook Quick Tips: MSOutlook.info -
Can I insert into a form build in FORMSCENTRAL, a Formula with the numerical data that are updated by a given formula, like in Excel?
Hello danna,
please have a look there as a first step: http://helpx.adobe.com/acrobat-com/formscentral/topics.html >>> Formula syntax for built-in functions >>> http://helpx.adobe.com/acrobat-com/formscentral/help/formula-syntax-built-in-functions.htm l
Hans-Günter -
Spotlight and search field in Outlook on MacBoon cannot find files as of a certain date. What can be the problem and how to solve?
Reinstall on both.
Reinstall Lion, Mountain Lion, or Mavericks without erasing drive
Boot to the Recovery HD:
Restart the computer and after the chime press and hold down the COMMAND and R keys until the menu screen appears. Alternatively, restart the computer and after the chime press and hold down the OPTION key until the boot manager screen appears. Select the Recovery HD and click on the downward pointing arrow button.
Repair
When the recovery menu appears select Disk Utility. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list. In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive. If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported then click on the Repair Permissions button. When the process is completed, then quit DU and return to the main menu.
Reinstall Mountain Lion or Mavericks
OS X Mavericks- Reinstall OS X
OS X Mountain Lion- Reinstall OS X
OS X Lion- Reinstall Mac OS X
Note: You will need an active Internet connection. I suggest using Ethernet
if possible because it isthree times faster than wireless.
Restore your iPhone to reinstall iOS. Be sure to do this while connected to your computer and iTunes.
Tap Settings > General > Reset > Erase all content and settings. -
i have a text file with numerical data in three columns,(first i need to skip the few lines of text within the file above the three column of data values)then i need to convert the numerical values above "-999" to zero,then take the average of each 500 values in the first column (second and third colum needs the same operation separately),thus found average values are to be stored into a text file and finally plotted in a graph separately. Please help.Its apart of my project work.
Solved!
Go to Solution.
Attachments:
data file.txt 715 KBi have a text file with numerical data in three columns,(first i need to skip the few lines of text within the file above the three column of data values)then i need to convert the numerical values above "-999" to zero,then take the average of each 500 values in the first column (second and third colum needs the same operation separately),thus found average values are to be stored into a text file and finally plotted in a graph separately.
" i am attaching the code tht i hv done so far, its for reading and plotting the numerical data from text, but its not working :-( "
Attachments:
read from text and plot.vi 26 KB
sample input.txt 1 KB
final input to be read and plot.txt 345 KB
Maybe you are looking for
-
HT1918 How do I remove credit card information?
I put in my moms credit card info for one purchase and now I can't get it to go away.
-
Hello! While using bapi_po_create1 and making it account assignment in services case i get an error E 06 436 In case of account assignment, please enter acc. assignment data for item Thanks!
-
Simple dynamic text line break question
I have a simple file that loads text dynamically inside a symbol.. How do I put line breaks in? My code is below. If I leave the text as is it skips a line inbetween. (actionscript in flash file) loadVariables("pacific.txt", "_root.pacific"); txt fil
-
TRANSFER_DATA_FROM_SUBSCREEN
Hi, I added a new tab using BADI LE_SHP_TAB_CUST_HEAD, from where I have a field where the user selects a value. I store its value on a local variable within my TRANSFER_DATA_FROM_SUBSCREEN method, using GET PARAMETER ID... FIELD... . The question i
-
Auto-delete old podcasts in iTunes 12
In iTunes 12, how can I set things up so that it will auto-delete old podcasts