Compare 2 string within DECODE
Hi All,
Is there anyone else able to guide me on how to compare 2 strings inside DECODE function? Currently I need to check whether string1 = string2.
I need a DECODE function which has similar function like below,
eg: IF(string1 = String2? 1, 2) => java code
DECODE(string1,string2,1,2)If string1=string2 then 1 will be returned else 2 will be returned.
Similar Messages
-
Using Excel Active X to Find a String within a column
I am trying to use ActiveX functions to search for a string within a specific column in excel. And return the row index of that string if a match occurs. Any help on that will be appreciated. I used Read then Compare for each cell in that column, but it is too slow. Maybe a search will be faster.
Here are some Vi's that will allow you to do a "find" just like doing the edit find function in excel. There is also a vi in there to do a search and replace.
Joe.
"NOTHING IS EVER EASY"
Attachments:
replace.llb 117 KB -
SQL Function to compare 2 strings
Hi All
Is there any SQL function to compare 2 strings?If you are looking for a character by character comparison then you would have to do something like...
SQL> ed
Wrote file afiedt.buf
1 WITH T AS (select 'THIS IS MY 1ST STRING' string1, 'THIS IS MY 2ND String Bob' string2 from dual)
2 --
3 select s1ch, s2ch, decode(s1ch,s2ch,'Match','Mismatch') as compare
4 from (
5 select rn, substr(string1,rn,1) as s1ch, substr(string2,rn,1) as s2ch
6 from t, (select rownum rn from t connect by rownum <= greatest(length(string1), length(string2)))
7 )
8* order by rn
SQL> /
S S COMPARE
T T Match
H H Match
I I Match
S S Match
Match
I I Match
S S Match
Match
M M Match
Y Y Match
Match
1 2 Mismatch
S N Mismatch
T D Mismatch
Match
S S Match
T t Mismatch
R r Mismatch
I i Mismatch
N n Mismatch
G g Mismatch
Mismatch
B Mismatch
o Mismatch
b Mismatch
25 rows selected.
SQL> -
Reading String within the single quotes
Hi All,
Can you please let me know, how to read a String within the sinle quote in line.
I have to read a report into internal table and again from that I need to read a string within the single quote. Please help me in this.
Thanks in Advance,
RaghuI have the following code:
REPORT test.
DATA: v_test(05) TYPE c.
v_test = TTT.
I am getting this errror:
Field TTT is unknown. It is neither kin on e of the specified tables nor defined by a DATA statement.
For some reason, my single quote is not being recognized from my keyboard. I noticed that my emotion icons are not being displayed either (example: I type and i do NOT get the smiley face on my end).
Is there a button that I pressed that caused that? -
How to Compare two strings in PL/SQL
Hi All,
I need to compare two strings whether they are equal or not in PL/SQL.Is there any function to comparing the strings.Yes, the = sign.
Are you after something like:
IF v_string1 = v_string2 THEN
ELSE
END IF;?
Edited by: Boneist on 27-Aug-2009 11:41 -
Compare two strings in an array
Hello!
Please feel free to give me hints, but do not give me any code.
Ok, here is what I am trying to do, I whant to compare my input string whith strings allready stored in the array. If my input string equals any of the allready excisting strings, a error wil show upp, otherwise store the new string in next avalibal position. I do not seem to get the method right for comparing the strings. here is the method I have written so far, please take a look and give me a hint, but no code. :)
//Check if a user already excists
public void compareNames (People in_array [], String in_name) {
for (int i=0; i<value.peopleCount; i++) {
if (in_name.equals(in_array.getPeople())) {
System.out.print("The user already excist, please chose another name");
}value.peopleCount is an global count value for people arays.
getPeople get the name from the people class.
MartinA couple notes here.
The name compareNames() is misleading if it is going to do what you described. A comparison will generally not have side-effects like outputting error messages to the console or adding new items to an array. It would be better if you called the method addIfNew(), and returned a boolean indicating whether the name was new or not. The caller would then be responsible for displaying an error message if the method returned false.
I also suggest you use a List such as ArrayList instead of an array, otherwise you will have to resize and copy your array every time you add something to it that exceeds the array size, and will allow you to do away with the global peopleCount. -
Compare two string in different line in textarea
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TextCounterPanel extends JPanel {
private JTextArea textInput;
private JLabel lineCountLabel;
public TextCounterPanel() {
setBackground(Color.DARK_GRAY);
textInput = new JTextArea();
textInput.setBackground(Color.WHITE);
JPanel south = new JPanel();
south.setBackground(Color.DARK_GRAY);
south.setLayout( new GridLayout(4,1,2,2) );
JButton countButton = new JButton("Process the Text");
countButton.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
processInput();
south.add(countButton);
lineCountLabel = new JLabel(" Number of lines:");
lineCountLabel.setBackground(Color.WHITE);
lineCountLabel.setForeground(Color.BLUE);
lineCountLabel.setOpaque(true);
south.add(lineCountLabel);
setLayout( new BorderLayout(2,2) );
setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
JScrollPane scroller = new JScrollPane( textInput );
add(scroller, BorderLayout.CENTER);
add(south, BorderLayout.SOUTH);
public void processInput() {
String text,vin; // The user's input from the text area.
text = textInput.getText();
vin =text.substring(25,42);
lineCountLabel.setText(" vin: " + vin);
} // end class TextCounterPanel
How can I compare two string in different line in text areaimport java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TextCounterPanel extends JPanel {
private JTextArea textInput;
private JLabel lineCountLabel;
public TextCounterPanel() {
setBackground(Color.DARK_GRAY);
textInput = new JTextArea();
textInput.setBackground(Color.WHITE);
JPanel south = new JPanel();
south.setBackground(Color.DARK_GRAY);
south.setLayout( new GridLayout(4,1,2,2) );
JButton countButton = new JButton("Process the Text");
countButton.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
processInput();
south.add(countButton);
lineCountLabel = new JLabel(" Number of lines:");
lineCountLabel.setBackground(Color.WHITE);
lineCountLabel.setForeground(Color.BLUE);
lineCountLabel.setOpaque(true);
south.add(lineCountLabel);
setLayout( new BorderLayout(2,2) );
setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
JScrollPane scroller = new JScrollPane( textInput );
add(scroller, BorderLayout.CENTER);
add(south, BorderLayout.SOUTH);
public void processInput() {
String text,vin; // The user's input from the text area.
text = textInput.getText();
vin =text.substring(25,42);
lineCountLabel.setText(" vin: " + vin);
} // end class TextCounterPanel -
Compare two strings in a formula
Hi,
I'd like to know if there's a way to compare two strings in a formula ?
I have this consition:
IF(@SUBSTRING(@NAME(@CURRMBR(TIME_FROM)),5)==@NAME(@CURRMBR(TIME)))
But the == operator can only compare two data.
Thanks,
CyrilHi,
thank you both for your answers.
When I figured that the == operator was for data only, I didn't even try to compare member names.
I finally used the solution that Cameron suggested in another conversation. I created a date measure, and loaded some data since the beginning of my time to the end.
It starts in 1974 (annually), then becomes monthly data, and then daily data from 2009, so it's not so many blocks to br created. In the end I have the same value for "from 2008"/"from Apr 30", and I can easily compare my dates.
Note that I could have also used the @TODATE function, which turns a date into a number, but the format of date is limited and doesn't fit the format of my member names, so I got lasy... and I'm not sure my users would have apreciated that ;)
Thanks, this post is solved.
Cyril -
i want to replace a string within a file
there is NO GUI ..
i take in mind two approaches
1) hold the file content in memory
and rewrite the file
2) write the new data to a new file.
and then rewrite the original file
any better ideassorry, no..
Your idea is kinda right if small file is within existance..
Small file.
Why not just use the filereader and filewriter? read the docs upon that
Large file
Why wont you create a string buffer, and parse the file chunk by chunk into that buffer one at a time. Then of course you saved the position of the character or word you wanted to apend or write, and you just write it back to that area. -
Comparing NVL strings in IF statement
ORA-06550: line 22, column 12: PLS-00412: list of values not allowed as argument to this function or procedure ORA-06550: line 22, column 1: PL/SQL: Statement ignored
if nvl((lower(v_address),'null') not like (lower(:ADDRESS)))Hi,
Lucy Discover wrote:
Whats the valid syntax to compare 2 strings . I want to compare it even if the first string is null.This is the correct syntax
if nvl (lower (v_address), 'null') not like lower (:ADDRESS)assuming V_adress and and :address are strings (and not some kind of collection, even if made up of strings).
I hope this answers your question.
If not, post a complete procedure or block, a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables, so that people can re-create the probnlem and test their ideas. 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. -
Comparing 2 strings in if statement
Hi All,
I want to compare two strings in if statement. When I use "==" then its throwing error that expected number and got string. Can anyone please let me know how can we compare two strings in an IF statement?
Thanks in advanceThe OP doesn't state what release he's on.
The functions @LIKE and @MBRCOMPARE are 11.1.2 and up only.
OP, if you're at a lower release, I've faced this problem as well in 11.1.1.3. Here's an older thread that detailed how I got around it for a client:
Re: How to compare two strings in calc script?
It really wasn't hard to do and the performance, in the limited context I was using it in, was fine.
Regards,
Cameron Lackpour -
Using utl_encode.base64_encode within decode function
Hi, I want to use utl_encode.base64_encode within decode function. However, the result is not as expected.
select 'a', decode('a', '1', 'EQUAL to 1',
--'NOT EQUAL to 1'
utl_encode.base64_encode('a')
) result
from dual
A RESULT
a 43673D3D
43673D3D is not a base64 encoded value of a
What is wrong with the sql?
ThanksSQL> select 'a'
2 , utl_encode.base64_encode(utl_raw.cast_to_raw('a')) raw_result
3 , utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('a'))) string_result
4 from dual;
' RAW_RESULT STRING_RESULT
a 59513D3D YQ==
1 row selected.Keep in mind that utl_encode.base64_encode returns a RAW and needs RAW input.
You'll probably need UTL_RAW to get your desired result.
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_encode.htm#CACECFHF -
How to compare German strings with umlaut
hi
here is a solution for the problem to compare German strings containing umlaut, which I faced and where I did not find any solution yet!
The right thing is to use the RuleBasedCollator class and define the additional rules (concerning the umlaut) by yourself and setting the strength of the rule interpretation to PRIMARY!
Here is the code that works:
public class UmlautTest {
public static void main (String args[]) {
String st1 = "Daettenb�ck";
String st2 = "D�ttenbueck";
String myRule = "< ae,�,AE,� < oe,�,OE,� < ss,�,SS < ue,�,UE,�";
RuleBasedCollator myrbCol = null;
try {
myrbCol = new RuleBasedCollator(myRule);
} catch (ParseException e) {
e.printStackTrace();
myrbCol.setStrength(Collator.PRIMARY);
if (myrbCol.compare(st1, st2) != 0) {
System.out.println("myrbCol: NICHT gleich!");
} else {
System.out.println("myrbCol: Gleich!");
I hope that I could help anyone with that
nocommThe � should be of course replaced by the missing umlaut!
Sorry, but I didn't preview the topic!
nocomm -
Compare two strings for partial or full match
I have been trying to figure out away of comparing two strings.
I can get the full string matching to successfully work but am struggling on how to get partial eg wildcard search working.
say I had names like paul Duncan, George Morrison.
I have split them up so its now paul , duncan i then use the users entered string to compare it against the name name to see if it matches anything in the first name or the last name if it does i added it to an arraylist.
however i have tried t use a indexof as i believe this looks for similarity (Substring matches?) but it always returns -1.
Could anyone possibly direct me to a method that will allow me to use partial text string to match it against stored user names.
eg user enters pa
I would return anything that would contain pa
thanks for any helpthank you for the reply
Sorry I forgot to put in the code.
This is a reduced down version including the read in from a text file as well as the index of if statement and the adding of it to an array list.
public class FindContact {
String res;
/** Creates a new instance of FindContact */
public FindContact() {
public Object[] FindAUser(String passSearch) {
System.out.println("getting here");
ArrayList found = new ArrayList();
String patternStr = ",";
int j, i = 0;
try {
BufferedReader in = new BufferedReader(new FileReader("H:\\out.txt"));
String str;
while ((str = in.readLine()) != null) {
String[] fields = str.split(patternStr);
//for(j=0;j < fields.length;j++) {
if (fields.length != 0) {
if (passSearch.indexOf(fields[0])!=-1 || passSearch.indexOf(fields[1])!=-1) {
found.add(str);
System.out.println("ENDDDDDDDD value ");
in.close();
} catch (IOException e) {
System.out.println(e.toString());
Object[] foundResult = new Object[found.size()];
foundResult = found.toArray();
if (foundResult.length >= 0) {
System.out.println(foundResult.length);
return foundResult;
Hope that helps as it has confused me and am not sure why it is not returning a value.
Should I maybe use the contain method instead to search for the user inputted string? -
Compare two strings and the save the greater
To devolop a vi,it can compare two strings.A string is gived,the other is saved previously.If greater,then save,or do nothing.
Hi,
I am assuming by "greater" you mean the string length.
Use the string length function from the strings palette, with shift-registers on a while loop. Write to the shift-register the "greater" string.
I am attaching a diagram screenshot for this. NOTE: depending on how you want this VI to run, you can move the input and output string control and indicator inside our outside the while loop.
Hope this is what you were looking for.
Khalid
Attachments:
strlen.gif 17 KB
Maybe you are looking for
-
Can't see ipod videos from 60GB ipod classic. I have Apple USB/video cable running through Onkyo receiver into Samsung TV. Video & TV out settings seem correct-I can see album cover, but no video. Is it possible to get itunes music videos to play or
-
Can't open or download on my macbook air
I can't view or download docs from oracle on my Mac Book Pro
-
Auto text/Punctuation not working correctly?
Hi there, I've recently got a Curve 9320 model, and although the capitalization and auto grammar and punctuation work fine when I'm typing text messages, it will not work on apps, for example I use AIM a lot, and the words I type will be lower case,
-
DMS with vault how to ??
I try to implement to use DMS with a vault. we already use DMS without a vault and that works perfectly. for the other application we want the document not on our fileserver but in a SAP vault. we did all the customizing in DMS but still with the new
-
HELP: java.lang.IllegalStateException: Response has already been committed
I have a little problem. I'm trying to draw a graph is JSP. And I did it. I'm my computer works fine with no problems. But I have a server and when I try to run the program there it appears this error message. My computer : Pentium 4 1.6 GHz O/S : Wi