SELECT 1 WHERE ',%,' LIKE '%,3,%'; 这条sql语句怎么改变like前面的条件查出结果(Like 后面的不许变动)
很简单的,就是select1不加查询条件能查出来,加上我说的查询条件怎么查出来。sqlserver:SELECT1WHERE',%,'LIKE'%,3,%';oracle...
很简单的,就是select 1不加查询条件能查出来,加上我说的查询条件怎么查出来。
sql server:SELECT 1 WHERE ',%,' LIKE '%,3,%';
oracle:SELECT 1 FROM DUAL WHERE ',%,' LIKE '%,3,%';
like 后面的内容实际上是动态生成的,可能是'%,3,%',也可能是'%,4,%',不确定,所以3楼说的不行啊
---------------------------------------------------------------------------------------------------------
like前面我确实是作为参数传进去的,但参数为空的时候我想匹配所有记录,所以就产生了我提出的问题。
------------------------------------------------------------------------------------------------------
有没有办法在一条SQL语句中实现? 展开
sql server:SELECT 1 WHERE ',%,' LIKE '%,3,%';
oracle:SELECT 1 FROM DUAL WHERE ',%,' LIKE '%,3,%';
like 后面的内容实际上是动态生成的,可能是'%,3,%',也可能是'%,4,%',不确定,所以3楼说的不行啊
---------------------------------------------------------------------------------------------------------
like前面我确实是作为参数传进去的,但参数为空的时候我想匹配所有记录,所以就产生了我提出的问题。
------------------------------------------------------------------------------------------------------
有没有办法在一条SQL语句中实现? 展开
6个回答
展开全部
declare @x varchar(1)
set @x=3
SELECT 1 as aaa WHERE ',' + @x + ',' LIKE '%,3,%'
SELECT 1 as aaa WHERE ',' + @x + ',' LIKE '%,' + @x + ',%'
以上@x就可以是动态的,不知道你是在什麽环境下使用?传入参数的话,自己组合条件嘛
set @x=3
SELECT 1 as aaa WHERE ',' + @x + ',' LIKE '%,3,%'
SELECT 1 as aaa WHERE ',' + @x + ',' LIKE '%,' + @x + ',%'
以上@x就可以是动态的,不知道你是在什麽环境下使用?传入参数的话,自己组合条件嘛
追问
再看看我的提问,亲
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想把like前面的',%,'写成参数吗?、
select * from table where ? like '%,3,%';
后面用代码设置"?"的值就好了、
select * from table where ? like '%,3,%';
后面用代码设置"?"的值就好了、
追问
当?为空的时候你怎么做?
追答
可以用判断啊、
----------------------------------
你看这样可否:
eg:
public Message getMsg(int id){
if(id==null){
Sql = select * form message;
}else{
Sql = select * from message where ? like '%,3,%';
}
Connection.prepareStatement(Sql);
}
----------------------------------
如果想用一条语句实现的话,可以用三元表达式试试、、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白楼主的意思,尽量说的详细点,你是不是想类似这样
SELECT 1 from [TABLE] WHERE [COLUMN] LIKE '%,3,%'
SELECT 1 from [TABLE] WHERE [COLUMN] LIKE '%,3,%'
追问
很简单的,就是select 1不加查询条件能查出来,加上我说的查询条件怎么查出来。
追答
还是不清楚你这么用法是何意,不过你写成SELECT 1 WHERE ',3,' LIKE '%,3,%'应该就可以了,以后你问数据库的问题最好再说下自己用的是oracle还是sql server甚至是Access之类的,语法不一样
既然是动态生成的,那是不是作为参数传进的?
为空的话那就判断下,这么写啊
IF @p IS NULL
SELECT 1
ELSE
SELECT 1 WHERE ','+@p+',' LIKE '%,'+@p+',%'
我假设@p是你的参数
按你的意思应该是不可能一条语句实现的,但是判断过后实际执行的还是只有一条语句啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from table where ? like '%,3,%';就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白你的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询