sql 如何查询单引号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 如何查询单引号相关的知识,希望对你有一定的参考价值。
Purchase表中如何查询SPEC列 包含有'(单引号)这个特殊字符啊.
谢谢!
1到4楼的答案,我试过了,还是不行.
declare @Purchase table(SPEC varchar(10))
insert into @Purchase
select '111' union
select '222' union
select '333''33' union
select '4''5''6''' union
select '789' union
select '000'
select * from @Purchase
select * from @Purchase where SPEC like '%''%'
--------------
(6 个资料列受到影响)
SPEC
----------
000
111
222
333'33
4'5'6'
789
(6 个资料列受到影响)
SPEC
----------
333'33
4'5'6'
(2 个资料列受到影响)本回答被提问者采纳 参考技术B 相信楼主要查询的是成对的单引号吧,如果是单个的,sql是不支持的。
具体实例属下
create table a(b varchar(20))--建表
insert into a values('''33333''')--初始化数据
数据表内容是'33333'
select * from a where b like '''33333''%'--模糊查询语句
select * from a where b = '''33333'''--准确查询语句 参考技术C 两个单引号(’‘
)转义的时候是一个单引号(’)
还有就是用这个符号进行连接(||)。下面是我的脚本>>
数据库版本>>oracle
database
11g
enterprise
edition
release
11.1.0.7.0
脚本>>
create
table
test123
(t_id
number
,
t_name
varchar2(20));
insert
into
test123
values
(1,'db2');
insert
into
test123
values
(2,'mysql');
insert
into
test123
values
(3,'smart');
insert
into
test123
values
(4,'tomy');
insert
into
test123
values
(5,'oracle');
commit;
select
t_id
,
''''||t_name||''','
as
t_name
from
test123; 参考技术D select *
from Purchase
where SPEC like ‘\'’; 第5个回答 2009-10-13 select SPEC from Purchase
where SPEC like %'%
存储过程中执行sql语句时如何转义双引号?
我的sqlserver版本2008 我想实现的效果是 将查出来的数据每个表的每个列中的数据前后都去掉双引号,
因为我的列数据都是这个样子。如下示例
=====================================================
id | name |
“f325sd” “asdfsdga”
“f3234d” “asd45dga”
=====================================================
而在最后这个sql中的双引号一直有问题,无法转义。。请大家提供一个好的解决方案
如果对于去掉数据中前后双引号有更好的办法还请不吝赐教
如:select replace('"dfdf''df"','"','')
用全角的演示一下 select replace( ‘“abc ’’ de ”’,‘“”’,‘’)追问
你这种写法是没问题的,但是我这是在存储过程中执行的,就会报错,对于第二个参数中不能填写双引号,否则颜色你看也不对。
追答那是因为你单引号没转义,应该是
@columnname+',''"'','''')'
最外层单引号表示括起来的是串,而串里若有单引号,需要在前面再加一个单引号进行转义
譬如我前面那个select,变成动态的就是
exec('select replace(''"dfdfdf"'',''"'','''')')
exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')')嵌套拼接字符中的单引号处理很麻烦的
仅代表个人观点,不喜勿喷,谢谢。 参考技术B exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')')
嵌套拼接字符中的单引号处理很麻烦的
exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')')追问
提示为字符串 ‘)’ 后的引号不完整 不行 编译正常 无法执行
追答可能是你没复制完整的原因,如果只复制了下面这部分,就会报出你遇到的问题
exec('update '+@tableName+' set '+@columnName+' = replace('+@columnName+',''"'','''')
以上是关于sql 如何查询单引号的主要内容,如果未能解决你的问题,请参考以下文章