在写sql语句的时候,常常会遇到单引号嵌套的情况,比如:
update IM_SVFLOWINFO set SFI_VALUE ='通知存款开立',
SFI_TRANSQL ='select t.ido_flowno,t.ido_cstno,getSttName(t.ido_stt),t.ido_submittime,cast('通知存款开立' as varchar2(50)) from CB_INFORM_DEPOSIT_OPEN t where 0=0'
where SFI_ID ='100000000017';
我们不用仔细去看这句话到底是什么意思,它只是说明在某个表的某个字段里面存储了sql,这个sql里带了单引号,那么在整个sql的外面加单引号时就会报错,用双引号和单引号嵌套的做法是行不通的,具体原因貌似跟QUOTED_IDENTIFIER有关,还没有搞清楚。
这时候我们可以用''(两个单引号不是双引号)来表示一个单引号,即第一个单引号是转义字符,第二个是真正的单引号,于是上面的句子可以写成这样:
update IM_SVFLOWINFO set SFI_VALUE ='通知存款开立',
SFI_TRANSQL ='select t.ido_flowno,t.ido_cstno,getSttName(t.ido_stt),t.ido_submittime,cast(''通知存款开立'' as varchar2(50)) from CB_INFORM_DEPOSIT_OPEN t where 0=0'
where SFI_ID ='100000000017';
再如: str varchar2;
str='0''0'; 的结果是0'0
分享到:
相关推荐
在SQL中,正确的处理单引号嵌套的方式是通过使用两个连续的单引号('')来表示一个单独的单引号。这种方法叫做单引号的转义。例如,如果你有一个字符串`'标准间'`,在SQL语句中你应该写成`'ROOMTYPE like ''%标准间%...
SQL语法关于&、双引号、和单引号的解释 在ASP中使用SQL时,需要了解&、双引号、和单引号的使用规则。下面将详细解释它们的意义和使用方法。 1. &连接运算符 &是连接运算符,它可以将两个字符串连接成一个字符串。...
在SQL中,单引号(')和双引号(")有着不同的用途,它们的使用规则对于编写正确的SQL语句至关重要。以下是关于SQL里单双引号使用区别的详细说明: 1. 双引号("): 在SQL中,双引号主要用来标识字符串常量。例如...
但在ASP中编写SQL语句时,由于外部双引号用于界定整个SQL字符串,因此文本型字段值需要使用单引号来避免引号嵌套问题。例如: - 正确的SQL语句:`INSERT INTO users (username) VALUES ('小王')` - 在ASP中的实现...
本文将深入探讨在SQL语句中如何正确地使用单引号和双引号,并通过具体的例子来说明。 #### 二、基本概念 在SQL语言中,字符串常量通常使用单引号 (`'`) 来界定。例如,`'Hello'` 表示字符串“Hello”。然而,在实际...
在复杂的字符串连接中,可能会遇到单引号嵌套的情况。例如: ```vb "ab'cd'efg" & "hi'jk'lmn" ' 结果:"ab'cd'efghi'jk'lmn" ``` 在这种情况下,只需将每个字符串看作一个整体,连接时取其内容,单引号被视为普通...
然而,许多开发者在处理SQL字符串时常常遇到各种问题,尤其是在处理双引号、单引号以及字符串连接运算符等方面。本文旨在系统地介绍如何在ASP.NET中正确书写SQL字符串,并提供一些调试技巧。 #### 二、基础知识回顾...
单引号主要用于在字符串中嵌套双引号。一般情况下,内层的双引号可以转换为单引号,例如:"ab'cde'fg"。如果字符串内部既有单引号又有双引号,单引号被视为普通字符处理,不会引起混淆。对于中文字符的引号,不需要...
1. **单引号闭合**:攻击者插入一个单引号以结束已存在的字符串,然后添加自己的SQL命令。 2. **双引号嵌套**:在某些数据库中,双引号可以用来闭合已存在的字符串,并开启新的字符串。 3. **转义字符**:使用反斜杠...
常量则以单引号括起,如`'Hello, World!'`。运算符包括算术运算符(+、-、*、/)、比较运算符(=、<、>、、>=、)和逻辑运算符(AND、OR、NOT)。流程控制语句如IF...ELSE、WHILE、FOR等,用于编写复杂的程序逻辑。 ...
字符串和日期常量需用单引号括起,字符型数据大小写敏感。 - **ORDER BY子句**:用于对查询结果进行升序或降序排序,默认是升序。语法是`ORDER BY 列名 ASC/DESC;`,可以使用别名,且必须位于`SELECT`语句的最后。 ...
- 使用多个单引号或双引号可以创建嵌套的字符串。 5. **数字操作**: - 判断条件如 `AND 0` 和 `AND 1` 可以用于测试注入点的有效性。 - 在登录场景中,如 `' OR '1` 或 `' OR 1 -- -` 可以绕过验证。 6. **...
- 使用单引号(`' '`)作为分隔符。 - 使用不同长度的空白字符(`''--1ո` 和 `''--2ո`)来调整输出格式,使结果更易读。 #### 六、打印输出 通过`PRINT @end`语句输出每一行的结果。由于每次循环结束后都会重置`@end`...
字符串和日期通常需要使用单引号包围,日期应遵循SQL标准格式`yyyy-mm-dd`。 2. SELECT语句: SELECT语句用于从数据库中检索数据。例如,获取所有雇员的名字和薪水,可以写成: ```sql SELECT FIRST_NAME, SALARY ...
并非所有情况下,简单的单引号测试都能揭示SQL注入漏洞。这是因为: - 服务器可能配置为不返回详细的错误信息给客户端。 - 程序员可能已经对特定字符进行了过滤,如单引号。 因此,更准确的测试方法是采用1=1和1=2...