Escaping international (unicode) characters in string
Escaping international (unicode) characters in string
am 29.05.2007 15:22:53 von usenet200705
Y'all:
I am needing some way, in the SQL Server dialect of SQL, to escape unicode
code points that are embedded within an nvarchar string in a SQL script,
e.g. in Java I can do:
String str = "This is a\u1245 test.";
in Oracle's SQL dialect, it appears that I can accomplish the same thing:
INSERT INTO TEST_TABLE (TEST_COLUMN) VALUES ('This is a\1245 test.");
I've googled and researched through the MSDN, and haven't discovered a
similar construct in SQL Server. I am already aware of the UNISTR()
function, and the NCHAR() function, but those aren't going to work well if
there are more than a few international characters embedded within a
string.
Does anyone have a better suggestion?
Thanks muchly!
GRB
--
------------------------------------------------------------ ---------
Greg R. Broderick usenet200705@blackholio.dyndns.org
A. Top posters.
Q. What is the most annoying thing on Usenet?
------------------------------------------------------------ ---------
Re: Escaping international (unicode) characters in string
am 29.05.2007 15:39:09 von Erland Sommarskog
Greg R. Broderick (usenet200705@blackholio.dyndns.org) writes:
> I am needing some way, in the SQL Server dialect of SQL, to escape unicode
> code points that are embedded within an nvarchar string in a SQL script,
> e.g. in Java I can do:
>
> String str = "This is a\u1245 test.";
SELECT @str = 'This is a' + nchar(1245) + ' test'
Note here that 1245 is decimal. If you want to use hex code (which you
normally do with Unicode), you would do:
SELECT @str = 'This is a' + nchar(0x1245) + ' test'
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downlo ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books .mspx
Re: Escaping international (unicode) characters in string
am 29.05.2007 19:01:43 von usenet200705
Erland Sommarskog wrote in
news:Xns993F9F38ABD05Yazorman@127.0.0.1:
> Greg R. Broderick (usenet200705@blackholio.dyndns.org) writes:
>> I am needing some way, in the SQL Server dialect of SQL, to escape
>> unicode code points that are embedded within an nvarchar string in a
>> SQL script, e.g. in Java I can do:
>>
>> String str = "This is a\u1245 test.";
>
> SELECT @str = 'This is a' + nchar(1245) + ' test'
>
> Note here that 1245 is decimal. If you want to use hex code (which you
> normally do with Unicode), you would do:
>
> SELECT @str = 'This is a' + nchar(0x1245) + ' test'
When there are more than one or two non-US-ASCII characters in the string,
this quickly becomes impractically unwieldy, thus my comment in my original
posting:
--- quote ---
I am already aware of the UNISTR() function, and the NCHAR() function, but
those aren't going to work well if there are more than a few international
characters embedded within a string.
--- quote ---
Thanks anyway, though. :-)
--
------------------------------------------------------------ ---------
Greg R. Broderick usenet200705@blackholio.dyndns.org
A. Top posters.
Q. What is the most annoying thing on Usenet?
------------------------------------------------------------ ---------
Re: Escaping international (unicode) characters in string
am 29.05.2007 23:23:00 von Erland Sommarskog
Greg R. Broderick (usenet200705@blackholio.dyndns.org) writes:
> When there are more than one or two non-US-ASCII characters in the
> string, this quickly becomes impractically unwieldy, thus my comment in
> my original posting:
If the are in sequence, you could do:
convert(nvarchar, 0x34123512...)
although this is certainly not too funny as you have twitch the bytes
around.
Another solution to use something like Microsoft Visual Keyboard, and
simply put the actual characters there.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downlo ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books .mspx