怎样在sql语句的in子句中使用单引号?

各位,我写了个存储过程,如下所示:
declare @f varchar(20)
set @f='''张三'',''李四'''
SELECT *
FROM INS_ReportIndex where fillperson in (@f)
因为要在字符串中使用单引号,所以我使用了两个单引号。但为什么执行这条语句后什么都查不到哪?
(注:如果我写成select * from INS_ReportIndex where fillperson in ('张三','李四')就可以查出来,现在“'张三','李四'”需要动态地从外面传进来)
如果写成set @f=''张三','李四'' 当然会报错,因为系统会把''看成一个闭合的字符串

用动态语句吧
declare @f varchar(20)
set @f='''张三'',''李四'''
declare @sqlstr varchar(8000)

set @sqlstr='
SELECT *
FROM INS_ReportIndex where fillperson in ('+@f+') '
exec (@sqlstr)
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-28
set @f='''张三','李四''' 就可以
第2个回答  2009-04-27
set @f=''张三','李四''

怎样在sql语句的in子句中使用单引号?
set @sqlstr='SELECT FROM INS_ReportIndex where fillperson in ('+@f+') 'exec (@sqlstr)

sql添加数据时如何处理字符串中的单引号
在单引号前面加一个单引号就行了

知识点丨SQL语句中单引号、双引号的用法
首先,假设我们有一个名为`usertable`的表格,其中包含`name`和`age`两个字段。若要插入一个名为"小小"的记录,需使用单引号包裹字符串型数据,而数值型数据则无需加引号。例如,`thename`作为变量名时,应写为`'小小'`。若插入年龄为12的记录,`theage`作为变量名时,应直接写为`12`,无需引...

如何用sql语句插入一个带有单引号的值
在sqlserver中用两个就代表一个单引号 insert into tb(field) values('a''bc');mysql中用\\'insert into tb(field) values('a\\'bc');

单引号在SQL语句中是何用的?
在SQL语句中,单引号主要用于定义文本型字段。例如,语句Adodc1.RecordSource = "SELECT * FROM mdlk_sj where 销售='N' order by 码单号"中,销售='N'表示查询条件,这里单引号用于界定文本值'N'。若字段定义为数字类型,则无需使用单引号,例如SELECT * FROM mdlk_sj where 码单号=123。对于...

在SQL中字符何时用单引号引住?何时用双引号引住?双引号和单引号有什么...
在PHP中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes' "I am a string in double quotes" PHP语法分析器是用成对的引号来判断一个字符串的。因此,所有字符串必须使用同一种单或者双 引号来定义开始和结束。例如,下面的字串定义是不合法的: "I am not a valid string ...

SQL查询语句中单引号和双引号的问题
1. 在SQL中,字符串数据应当使用单引号括起来。2. 双引号通常用于引用数据库中的对象名称,如表名、列名或函数名。3. 如果在SQL查询中需要使用双引号包围的字符串,需要在双引号前加上反斜杠(\\),例如 `'SELECT \\"This is a test\\" FROM table'`。4. 相反地,如果要在双引号内的文本中包含...

sql语句插入的数据中含有单引号怎么办
yourTable(f1,f2)values(100,'abc')字符串数据是用单引号包在外面的,如果插入的数据中包含单引号,就需要处理,你可以将单引号替换成两个单引号,在sql中连续两个单引号就表示一个单引号字符,例如insert into yourTable(f1,f2)values(100,'ab''c')表示插入新记录f2字段为ab'c 使用函数replace...

sql语句引号用法
1、首先先来说一下单引号和反引号,这里的 '图书ID' 就使用到了单引号,而 2、CREATE TABLE `book` 这里的 book 就使用到了反引号。3、单引号:在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号。按照别的说法来说就是Varchar类型(也可以说是...

MySQL中IN操作符的用法与注意事项mysql中in的写法
总结 IN操作符可以方便地在查询语句中使用多个值进行比较,提高查询效率和编写简洁的SQL语句。但是,在使用时需要注意数据类型、括号内值的数量、使用单引号等问题,避免出现语法错误和效率问题。同时,在需要使用复杂的比较条件时,可以考虑使用JOIN或UNION来代替IN操作符。

相似回答