6 个解决方案
#1
特殊字符有很多,我不想一一說出.
只是告訴你方法,你自己用SQLServer提供的char函數轉義.
比方說:
select char(39) 代表單引號
select char(34) 代表雙引號
char函數中填寫的是該字符的asc碼.
欲想知道字符的asc碼,請用ascii函數:
比方說,我想知道&的asc碼:
select ascii('&') 這樣即可
得到的結果是38.
那麼你用:
select char(38)就可以表示&了.
只是告訴你方法,你自己用SQLServer提供的char函數轉義.
比方說:
select char(39) 代表單引號
select char(34) 代表雙引號
char函數中填寫的是該字符的asc碼.
欲想知道字符的asc碼,請用ascii函數:
比方說,我想知道&的asc碼:
select ascii('&') 這樣即可
得到的結果是38.
那麼你用:
select char(38)就可以表示&了.
#2
當然,單引號又特殊一些.
用兩個單引號又可以代表一個.
如:
insert into test(name) values('It''s me');
然後
select * from test出來的結果是
It's me
用兩個單引號又可以代表一個.
如:
insert into test(name) values('It''s me');
然後
select * from test出來的結果是
It's me
#3
斑竹说的没错,一般特殊字符都是用char()函数来转义
比如对控制字符,在字符串中用 CHAR(13) 和 CHAR(10) 可以产生一个回车并生成一个新行。
比如对控制字符,在字符串中用 CHAR(13) 和 CHAR(10) 可以产生一个回车并生成一个新行。
#4
我现在写程序要用,好象不能进行这样的转换吧!我用C写程序,用DB-LIBRARY访问数据库,不知道那位知道DB-LIBRARY中是否样这样的转换函数。不知道数据库中以字符串方式插入数据库时,除了“’”号不能直接插入外,还有那写字符不能直接插入。我想我必须对我要插入的数据进行编码。
#5
程序中也可以這樣寫呀.
如:
String strInsert = "insert into test(name) values('It'+char(39)+'s me')";
ps.execute(strInsert);
如:
String strInsert = "insert into test(name) values('It'+char(39)+'s me')";
ps.execute(strInsert);
#6
这样是能解决,可是还得自己组织一遍字符串,我是问是否有这样的函数可以直接将一个字符串编码,MYSQL下就有。让这个字符串插入数据库时是合法的。如果没有,麻烦老兄告诉我SQL SERVER中,数据库对字符串数据类型,那些字符是要进行处理的。另外问一句,二进制转换为字符串,他怎样描述。如何转换0X
多谢!多谢!
多谢!多谢!
#1
特殊字符有很多,我不想一一說出.
只是告訴你方法,你自己用SQLServer提供的char函數轉義.
比方說:
select char(39) 代表單引號
select char(34) 代表雙引號
char函數中填寫的是該字符的asc碼.
欲想知道字符的asc碼,請用ascii函數:
比方說,我想知道&的asc碼:
select ascii('&') 這樣即可
得到的結果是38.
那麼你用:
select char(38)就可以表示&了.
只是告訴你方法,你自己用SQLServer提供的char函數轉義.
比方說:
select char(39) 代表單引號
select char(34) 代表雙引號
char函數中填寫的是該字符的asc碼.
欲想知道字符的asc碼,請用ascii函數:
比方說,我想知道&的asc碼:
select ascii('&') 這樣即可
得到的結果是38.
那麼你用:
select char(38)就可以表示&了.
#2
當然,單引號又特殊一些.
用兩個單引號又可以代表一個.
如:
insert into test(name) values('It''s me');
然後
select * from test出來的結果是
It's me
用兩個單引號又可以代表一個.
如:
insert into test(name) values('It''s me');
然後
select * from test出來的結果是
It's me
#3
斑竹说的没错,一般特殊字符都是用char()函数来转义
比如对控制字符,在字符串中用 CHAR(13) 和 CHAR(10) 可以产生一个回车并生成一个新行。
比如对控制字符,在字符串中用 CHAR(13) 和 CHAR(10) 可以产生一个回车并生成一个新行。
#4
我现在写程序要用,好象不能进行这样的转换吧!我用C写程序,用DB-LIBRARY访问数据库,不知道那位知道DB-LIBRARY中是否样这样的转换函数。不知道数据库中以字符串方式插入数据库时,除了“’”号不能直接插入外,还有那写字符不能直接插入。我想我必须对我要插入的数据进行编码。
#5
程序中也可以這樣寫呀.
如:
String strInsert = "insert into test(name) values('It'+char(39)+'s me')";
ps.execute(strInsert);
如:
String strInsert = "insert into test(name) values('It'+char(39)+'s me')";
ps.execute(strInsert);
#6
这样是能解决,可是还得自己组织一遍字符串,我是问是否有这样的函数可以直接将一个字符串编码,MYSQL下就有。让这个字符串插入数据库时是合法的。如果没有,麻烦老兄告诉我SQL SERVER中,数据库对字符串数据类型,那些字符是要进行处理的。另外问一句,二进制转换为字符串,他怎样描述。如何转换0X
多谢!多谢!
多谢!多谢!