• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

从列表搜索数据

用户头像
it1352
帮助1

问题说明

我在storeprocedure中编写了这个查询。但是使用这个我只能用完整的文本搜索数据。例如:我可以搜索名称为'''ronak''的数据。我无法搜索名称以''开头的数据R ''。



请帮我解决这个问题。





SELECT profile .name1 AS name,profile.address,profile.mob_no,profile.emailid,login.username

FROM profile INNER JOIN

登录ON profile.log_id = login.log_id

WHERE(profile.name1 LIKE @ name1)或

(profile.mob_no LIKE @mob_no)或

(profile.emailid LIKE @emailid)或者

(login.username LIKE @username)



我尝试了以下2解决方案,但是当我写查询时





SET @ name1 =''%'' @ name1 ''%''



SELECT profile.name1 AS name,profile.address,profile.mob_no,profile.emailid,login.username

FROM profile INNER JOIN

登录ON profile.log_id = login.log_id

WHERE(profile.name1 LIKE @ name1)或

(profile.mob_no LIKE @mob_no)或

(个人资料。 emailid LIKE @emailid )或者

(login.username LIKE @username)

然后它适用于名称文本框。当我写查询时



SET @ name1 =''%'' @ name1 ''%''

SET @mob_no =''%'' @mob_no ''%''

SET @emailid =''%'' @emailid ''%''

SET @username =''%'' @username ''%' '



SELECT profile.name1 AS name,profile.address,profile.mob_no,profile.emailid,login.username

FROM profile INNER加入

登录ON profile.log_id = login.log_id

WHERE(profile.name1 LIKE @ name1)或

(profile.mob_no LIKE @ mob_no)或

(profile.emailid LIKE @emailid)或

(login.username LIKE @username)

然后它不起作用任何文本框。

I have written this query in storeprocedure.But using this I can only search data with complete text.For Example:I can search data whose name=''ronak''.i can not search data whose name start with ''r''.

please help me how to do this.


SELECT profile.name1 AS name, profile.address, profile.mob_no, profile.emailid, login.username
FROM profile INNER JOIN
login ON profile.log_id = login.log_id
WHERE (profile.name1 LIKE @name1) OR
(profile.mob_no LIKE @mob_no) OR
(profile.emailid LIKE @emailid) OR
(login.username LIKE @username)

I have try below 2 solution ,but when I write query


SET @name1 = ''%'' @name1 ''%''

SELECT profile.name1 AS name, profile.address, profile.mob_no, profile.emailid, login.username
FROM profile INNER JOIN
login ON profile.log_id = login.log_id
WHERE (profile.name1 LIKE @name1) OR
(profile.mob_no LIKE @mob_no) OR
(profile.emailid LIKE @emailid) OR
(login.username LIKE @username)
then it is working for name textbox.And when I write query

SET @name1 = ''%'' @name1 ''%''
SET @mob_no = ''%'' @mob_no ''%''
SET @emailid = ''%'' @emailid ''%''
SET @username = ''%'' @username ''%''

SELECT profile.name1 AS name, profile.address, profile.mob_no, profile.emailid, login.username
FROM profile INNER JOIN
login ON profile.log_id = login.log_id
WHERE (profile.name1 LIKE @name1) OR
(profile.mob_no LIKE @mob_no) OR
(profile.emailid LIKE @emailid) OR
(login.username LIKE @username)
then it is not working for any textbox.

正确答案

#1
尝试:



Try:

SELECT profile.name1 AS name, profile.address, profile.mob_no, profile.emailid, login.username
FROM profile INNER JOIN
login ON profile.log_id = login.log_id
WHERE     
(profile.name1 LIKE @name1  '%') OR
(profile.mob_no LIKE @mob_no  '%') OR
(profile.emailid LIKE @emailid  '%') OR
(login.username LIKE @username  '%')
如果你想搜索值中的任何包含,那么你只需要用''%''字符包装你的参数。

If you want to search for any inclusion in a value then you just need to wrap your argument with ''%'' characters.
SET @name1 = '%'   @name1   '%'
SET @mob_no = '%'   @mob_no   '%'
SET @emailid = '%'   @emailid   '%'
SET @username = '%'   @username   '%'

SELECT profile.name1 AS name, profile.address, profile.mob_no, profile.emailid, login.username
  FROM profile INNER JOIN
          login ON profile.log_id = login.log_id
 WHERE profile.name1 LIKE @name1 
    OR profile.mob_no LIKE @mob_no
    OR profile.emailid LIKE @emailid
    OR login.username LIKE @username

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcebfee
系列文章
更多 icon
同类精品
更多 icon
继续加载