如何向SQL中插入含@、#等特殊字符的字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何向SQL中插入含@、#等特殊字符的字符串相关的知识,希望对你有一定的参考价值。
各位:
我需要向SQL中一个类型为nvarchar(max)的字段插入一些字符串,但如果字符串含有@、#等特殊字符,SQL就会报错:将截断字符串或二进制数据。
请教该如何处理。
你这报错是你插入的字段长度超过你设置的字段长度了
create table test(id nvarchar(max))
insert into test(id)
select 'sdfsf@#'
这样,肯定是可以的啊本回答被提问者和网友采纳 参考技术B 向数据库中插入特殊字符,可以用PreparedStatement实现。
代码如下:
...
sql="insert into webPageInfo (webAddrees,content) values(@, #)";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, thisURL);
pstmt.setString(2, Webtext);
ResultSet rs = pstmt.executeQuery();
关于SQL server 插入数据时语言和特殊字符的处理
问题描述:
当插入或者是修改数据时,当插入(修改)的字段中存在(韩文,日文)或者其他字符时,出现插入的字符变成了乱码或者是成堆的问号。
解决方法:
在 Microsoft SQL Server 中, 以下数据类型支持 Unicode 数据:
nchar, nvarchar, ntext
使用SQL语句操作的时候应该注意以下问题:
原查询语句
Select * From TABLENAME Where field1 like ‘%xxx%‘
使用 Unicode 数据类型的, 应该为:
Select * From TABLENAME Where field1 like N‘%xxx%‘
插入数据也一样
INSERT INTO TABLENAME(Detail) VALUES(‘?????‘)
修改为
INSERT INTO TABLENAME(Detail) VALUES(N‘?????‘)
不然韩文插入到数据库, 就会变成问号问号-_-
以上是关于如何向SQL中插入含@、#等特殊字符的字符串的主要内容,如果未能解决你的问题,请参考以下文章