如何向SQL中插入含@、#等特殊字符的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何向SQL中插入含@、#等特殊字符的字符串相关的知识,希望对你有一定的参考价值。

各位:
我需要向SQL中一个类型为nvarchar(max)的字段插入一些字符串,但如果字符串含有@、#等特殊字符,SQL就会报错:将截断字符串或二进制数据。
请教该如何处理。

参考技术A 你这报错和你写的@,#没关系吧,,,

你这报错是你插入的字段长度超过你设置的字段长度了

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中插入含@、#等特殊字符的字符串的主要内容,如果未能解决你的问题,请参考以下文章

oracle字段中含特殊字符

在 python 中,将数据插入 SQL Server 时如何转义特殊字符?

如何将特殊字符插入 Advantage SQL 数据库?

如何正确处理Shell 函数传人参数中包含的特殊字符

如何在oracle数据库中输入“&”等特殊字符? [复制]

如何在mysql数据库中鎒moji特殊字符