`
pokerwen
  • 浏览: 61349 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL 在INSERT特殊字符时的处理

阅读更多

转载:http://bbs2.chinaunix.net/archiver/tid-617054.html

如何向数据库中插入特殊符号。

sql="insert into webPageInfo (webAddrees,content) values('"+thisURL+"','"+Webtext+"')";

Webtext是网页的全文,通过读URL文件得到字符串,它必然包含( '   "   )等特殊符号。这样的话,在书写SQL语句应该如何写,如果像上面书写,就会出现错误。


在SQL中,表示字符串得引号强烈建议使用单引号(')。虽然MySQL也可以使用双引号("),但是为了和SQL Server和Oracle统一,建议都使用单引号。如果在字符串中也有单引号出现的话,在SQL中需要将其替换为两个单引号(''),DBMS会将其解释为一个单引号的。

参考自:http://www.study888.com/computer/data/sqlsl/200506/42507.html
关于SQL的换行符和字符串连接符,在MySQL、SQL Server和Oracle中均有不同,下面以列表显示。   MySQL SQL Server Oracle 
换行符 \n或\r\n或CHAR(10) CHAR(13) CHR(10) 
字符串连接符 CONCAT() + ||或CONCAT() 


另外,符号(&) 在Oracle里有特殊含义,是一个宏变量标识符,在SQLPLUS里执行SELECT 'AAA&BBB' AS STR FROM DUAL,它会提示你输入宏变量值,所有如果SQL里有(&),建议用单引号括起来,如SELECT 'AAA'||'&'||'nbsp;BBB' AS STR FROM DUAL它就不会提示了。
    个人的一点总结,以记之。


单引号' 可以用chr(39)表示,& 可以用chr(38)表示。 
  
  例子: 
  
  select 'test:' || chr(38) || chr(39) from dual; 
  结果是:test:&' 
  
  我找了一份ascii对应表(数码相机拍摄,所以,有点变形,呵呵) 
    
  注:chr()的反函数是ascii(), 比如: 
  select ascii('a') from dual; 
  结果是:97 
  
  另外,单引号也可以这样处理: 
  
  select 'I''m chinese' from dual 
  结果是:I'm chinese.

 

分享到:
评论

相关推荐

    SQL关于特殊字符处理的基本方法.doc

    SQL关于特殊字符处理的基本方法.doc 希望对qsl初学者有所帮助

    数据库表数据转为insert sql语句

    1、对ms sql server及其他数据库库中类似int identity的数据库类型没有处理,转出来的sql语句直接执行时,还需要做一下处理. 2、不支持长字符集类型.比如ms sql server中的image,oracle中的blob,clob,long以及db2中...

    自动生成Insert,Update,Delete等SQL,批量操作字符,实用小工具

    本工具是VS2005开发,绿色版 无需安装,在framework2.0上面可直接运行。功能如下: 1. 可连接SQL2000,2005,2008,2008R2数据库,能自动列出数据库服务器上的所有表和所有数据库,且每次连接的数据库服务器的地址,...

    经典SQL脚本大全

    │ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁转换.sql │ 统计一个表中某个字符...

    配置Sql连接字符串

    SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。虽然绝大多数的...

    Sqlserver2000经典脚本

    统计一个表中某个字符出现最多的字母.sql │ 非法字符串处理.sql │ ├─第04章 │ │ 4.1.5 在各种处理中应用排序规则的示例.sql │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ ...

    SQL Server实现将特定字符串拆分并进行插入操作的方法

    本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法。分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @...

    CREATE PROC [dbo].[proc_insert].sql

    根据表查询条件自动生成insert into sql语句,支持where条件,支持表各种类型字段。打印出来的字符不会被截断。sp执行完后,直接copy出来就可以在ms sql里执行。

    ORACLE和SQL Server的语法区别

    要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部...

    分组字符合并SQL语句 按某字段合并字符串之一(简单合并)

    标题:按某字段合并字符串之一(简单合并) 描述:将如下形式的数据按id字段合并value字段。 id value —– —— 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id value —— ———– 1 aa,bb 2 aaa,bbb,...

    Sql Server与Oracle的区别

    要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部...

    SQL截断二进制错误的查找工具,解决insert字段较多时挨个查找的麻烦

    查找SQL报截断字符串的字段

    lecco sql export pro(SQL优化器)

    在字段DPT_ID上进行了合并空字符串的操作以诱导数据库先执行子查询中的(SELECTDPT_ID||\'FROMDEPART-MENTWHEREDPT_NAMELIKE\'AC%\')在子查询完成后再与EMPLOYEE表进行嵌套循环连接(NestedLoopJoin)。图7 在线执行...

    SQL字符串函数

    if @weekday= '星期六' insert SatSun([date],[weekday]) values(@datetime,@weekday) if @weekday='星期日' insert SatSun([date],[weekday]) values(@datetime,'星期天') select @datetime=dateadd(day,1,@...

    REST2SQL连接数据库即可提供REST和SQL的CRUD服务 在config.json里设置数据库连接字符串及服务端口

    在config.json里设置数据库连接字符串及服务端口等参数,REST服务提供POST、GET、PUT、DELETE4种请求,SQL服务可执行INSERT、SELECT、UPDATE、DELETE4种SQL语句;请求结果返回JSON字符串(以后加上JSON SCHEMA)。...

    LECCO SQL Expert (智能自动SQL优化)

     5、先进的SQL语法分析器能处理最复杂的SQL语句; 6、可重写SELECT、SELECTIN-TO、UPDATE、INSERT和DELETE语句; 7、通过测试运行,为应用程序和数据库自动找到性能最好的SQL语句; 8、提供微秒级的计时; 9、...

    sqlserver自定义函数

    --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。 return substring(@str,@start,@location-@start) END select ...

    经典SQL语句大全

    注意:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。Rid为一个标识列,如果top后还有具体的字段,这样做是非常有好处的。因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际...

    SQL Server中读取XML文件的简单做法

    SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦。文中介绍了SQL Server中读取XML文件的简单方法。有了这种解决办法,对XML文档进行各种处理就成为了可能...

    prepare-sql:SQL模板字符串,防止SQL注入

    SQL模板字符串 用法 var SQL = require ( 'prepare-sql' ) const username = 'emilbayes' // Query with template string const select = SQL `SELECT * FROM users WHERE username = ${ username } ` const insert...

Global site tag (gtag.js) - Google Analytics