为什么加个'%'就出错了?

Spring414 2003-10-17 09:14:45
declare @a varchar(1000)
set @a = 'select 1 where 1 like '+'1%'
exec(@a)
在查询分析器里执行出错:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '%' 附近有语法错误。
去掉那个%就没有错了。这是为什么?
...全文
30 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Spring414 2003-10-17
  • 打赏
  • 举报
回复
谢谢大家!分不在多,交流学习则成。
银狐被占用 2003-10-17
  • 打赏
  • 举报
回复
改正:

解决办法:set @a='select l where l like '''+'l%'''
jingxijun 2003-10-17
  • 打赏
  • 举报
回复
up
银狐被占用 2003-10-17
  • 打赏
  • 举报
回复
因为你的%和它前面的那个是1还是l的东东得用单引号引上!

解决办法:set @a='select l where l like '+''l%''

你再试试!
伍子V5 2003-10-17
  • 打赏
  • 举报
回复
呵,不好意思
zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
--单引号不够
declare @a varchar(1000)
set @a = 'select 1 where 1 like '''+'1%'''
exec(@a)
Spring414 2003-10-17
  • 打赏
  • 举报
回复
谢谢,知道了,原来在字符串里是两个'代表一个'。
zclxyh 2003-10-17
  • 打赏
  • 举报
回复
引号用错了
declare @a varchar(1000)
set @a = 'select 1 where 1 like '''+'1%'''
exec(@a)

Spring414 2003-10-17
  • 打赏
  • 举报
回复
就是怎么再加引号??
豹子辰 2003-10-17
  • 打赏
  • 举报
回复
set @a = 'select 1 from tablename where ''1'' like '+'''1%'''
happydreamer 2003-10-17
  • 打赏
  • 举报
回复


declare @a varchar(1000)
set @a = 'select 1 where 1 like '+'''1%'''
exec(@a)
Spring414 2003-10-17
  • 打赏
  • 举报
回复
letsflytogether,还是出错。
jingxijun 2003-10-17
  • 打赏
  • 举报
回复
再加层引号
豹子辰 2003-10-17
  • 打赏
  • 举报
回复
因为数据类型不一致。%是字符串的通配符。
Spring414 2003-10-17
  • 打赏
  • 举报
回复
知道问题所在了,需要在%两边再加个',怎么加啊?
伍子V5 2003-10-17
  • 打赏
  • 举报
回复
declare @a varchar(1000)
set @a = 'select 1 from tablename where 1 like '+'1%'
exec(@a)

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧