By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,504 Members | 1,903 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,504 IT Pros & Developers. It's quick & easy.

Oracle workaround to the STUFF() MSSQL Function?

P: n/a
I have this function everywhere in our SQL server 2000 stored
procedures. Has anyone written a workaround function for it? I would
appreciate if you could share. As you can imagine, searching the
groups for "stuff" returns a lot of, well... stuff. But not what I'm
looking for!
Using STUFF
The STUFF function inserts a string into another string. It deletes a
specified length of characters in the first string at the start
position and then inserts the second string into the first string at
the start position.

If the start position or the length is negative, or if the starting
position is larger than length of the first string, a null string is
returned. If the length to delete is longer than the first string, it
is deleted to the first character in the first string.

This example puts in the character string of "xyz" starting at the
second character of the "abc" character expression, and replaces a
total of three characters.

SELECT STUFF('abc', 2, 3, 'xyz')

Here is the result set:

----

axyz

(1 row(s) affected)
Jul 19 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
al0
je***@hypershell.com (Jeff Lambert) wrote in message news:<f1**************************@posting.google. com>...
I have this function everywhere in our SQL server 2000 stored
procedures. Has anyone written a workaround function for it? I would
appreciate if you could share. As you can imagine, searching the
groups for "stuff" returns a lot of, well... stuff. But not what I'm
looking for!


There is no direct counterpart to this function in Oracle, you have
write instead (if you want to replace in FirstStr m characters
sstarting from n-tn character)

substr(FirstStr,1,n-1)||SecondStr||Substr(FirstStr,n+m)

Take a look on Replace function as well, as it may be handy. It
provides "context" replacement. Here is excerpt from documentation:

REPLACE returns char with every occurrence of search_string replaced
with replacement_string. If replacement_string is omitted or null,
then all occurrences of search_string are removed. If search_string is
null, then char is returned.

The following example replaces occurrences of "J" with "BL":

SELECT REPLACE('JACK and JUE','J','BL') "Changes"
FROM DUAL;

Changes
--------------
BLACK and BLUE
Jul 19 '05 #2

P: n/a
Thank you very much...

Ol******************@rambler.ru (al0) wrote in message news:<42**************************@posting.google. com>...
je***@hypershell.com (Jeff Lambert) wrote in message news:<f1**************************@posting.google. com>...
I have this function everywhere in our SQL server 2000 stored
procedures. Has anyone written a workaround function for it? I would
appreciate if you could share. As you can imagine, searching the
groups for "stuff" returns a lot of, well... stuff. But not what I'm
looking for!


There is no direct counterpart to this function in Oracle, you have
write instead (if you want to replace in FirstStr m characters
sstarting from n-tn character)

substr(FirstStr,1,n-1)||SecondStr||Substr(FirstStr,n+m)

Take a look on Replace function as well, as it may be handy. It
provides "context" replacement. Here is excerpt from documentation:

REPLACE returns char with every occurrence of search_string replaced
with replacement_string. If replacement_string is omitted or null,
then all occurrences of search_string are removed. If search_string is
null, then char is returned.

The following example replaces occurrences of "J" with "BL":

SELECT REPLACE('JACK and JUE','J','BL') "Changes"
FROM DUAL;

Changes
--------------
BLACK and BLUE

Jul 19 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.