① thinkphp sql 條件like怎麼寫
$info = $obj->where("name like '%{$name}%' ")->select();
② 用thinkPHP框架怎麼實現該sql語句
親,這個不需要轉換,直接使用就行了,TP裡面提供了一個query方法的,直接吧sql傳遞進去
③ thinkphp like 語句的問題
你這個屬於多個條件,你可以這樣寫:
④ SQL LIKE模糊查詢
--下面這個應該是可以的!
create
proc
procget
--[存儲過程名]
@proc1
varchar(50),--這個是一定要存在的參數
@proc2
varchar(50),
@proc3
varchar(50)
as
--定義一個要執行的字元串語句
declare
@aa
varchar(200)
set
@aa
=
'select
*
from
TA
where
'
+
'[表中的列名]
like
'
+
'''%'
+
@proc1
+
'%'''
--組合要執行的語句
--如果參數為空,就加上字元空串,否則就加上相應的條件語句
set
@aa
=
@aa
+
case
when
@proc2
is
null
then
''
else
'
and
[表中列名]
like'+'''%'+@proc2+
'%'''
end
set
@aa
=
@aa
+
case
when
@proc3
is
null
then
''
else
'
and
[表中列名]
like'+'''%'+@proc3+
'%'''
end
--執行語句
exec(@aa)
⑤ thinkphp 資料庫查詢怎麼查
thinkphp如何查詢資料庫?
資料庫查詢
ThinkPHP內置了非常靈活的查詢方法,可以快速的進行數據查詢操作。
查詢條件可以用於CURD等任何操作,作為where方法的參數傳入即可。
ThinkPHP可以支持直接使用字元串作為查詢條件,但是大多數情況推薦使用索引數組或者對象來作為查詢條件,因為會更加安全。
查詢方式
一、使用字元串作為查詢條件
這是最傳統的方式,但是安全性不高,例如:
1
2
$User = M("User"); // 實例化User對象
$User->where('type=1 AND status=1')->select();
最後生成的SQL語句是
1
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用數組作為查詢條件
1
2
3
4
5
$User = M("User"); // 實例化User對象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查詢條件傳入查詢方法
$User->where($condition)->select();
最後生成的SQL語句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
如果進行多欄位查詢,那麼欄位之間的默認邏輯關系是 邏輯與 AND,但是用下面的規則可以更改默認的邏輯判斷,通過使用 _logic 定義查詢邏輯:
1
2
3
4
5
6
$User = M("User"); // 實例化User對象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR'; //定義查詢邏輯
// 把查詢條件傳入查詢方法
$User->where($condition)->select();
最後生成的SQL語句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
三、使用對象方式來查詢 (這里以stdClass內置對象為例)
1
2
3
4
5
6
$User = M("User"); // 實例化User對象
// 定義查詢條件
$condition = new stdClass();
$condition->name = 'thinkphp';
$condition->status= 1;
$User->where($condition)->select();
最後生成的SQL語句和上面一樣
1
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
使用對象方式查詢和使用數組查詢的效果是相同的,並且是可以互換的,大多數情況下,我們建議採用數組方式更加高效,後面我們會以數組方式為例來講解具體的查詢語言用法。
表達式查詢
上面的查詢條件僅僅是一個簡單的相等判斷,可以使用查詢表達式支持更多的SQL查詢語法,並且可以用於數組或者對象方式的查詢(下面僅以數組方式為例說明),查詢表達式的使用格式:
1
$map['欄位名'] = array('表達式','查詢條件');
表達式不分大小寫,支持的查詢表達式有下面幾種,分別表示的含義是:
1
2
3
4
$map['id'] = array('eq',100); id = 100;
$map['id'] = array('egt',100);id >= 100
$map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查詢
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')
本文來自ThinkPHP框架技術文章欄目:http://www.php.cn/phpkj/thinkphp/
以上就是thinkphp如何查詢資料庫的詳細內容,更多請關注php中文網其它相關文章!
⑥ SQL LIKE模糊查詢
--下面這個應該是可以的!
create proc procget --[存儲過程名]
@proc1 varchar(50),--這個是一定要存在的參數
@proc2 varchar(50),
@proc3 varchar(50)
as
--定義一個要執行的字元串語句
declare @aa varchar(200)
set @aa = 'select * from TA where ' + '[表中的列名] like ' + '''%' + @proc1 + '%'''
--組合要執行的語句
--如果參數為空,就加上字元空串,否則就加上相應的條件語句
set @aa = @aa + case when @proc2 is null then '' else ' and [表中列名] like'+'''%'+@proc2+ '%''' end
set @aa = @aa + case when @proc3 is null then '' else ' and [表中列名] like'+'''%'+@proc3+ '%''' end
--執行語句
exec(@aa)
⑦ sql查詢語句Like 的問題
LIKE 操作符用於在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符語法
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
通配符 描述
% 替代一個或多個字元
_ 僅替代一個字元
[charlist] 字元列中的任何單一字元
[^charlist] 或者 [!charlist] 不在字元列中的任何單一字元
這樣查詢也可以: Select * From TB1 Where cName Like '品牌_'
我不知道你怎麼會用到「*」,「*」是個查詢的字元了,可能是我不知道吧
這個網址上面的東西很基礎,你可以去看看http://www.w3school.com.cn/
希望對你有幫助
⑧ 關於sql查詢中的like用法疑問
2種,明細你SQL有問題
sql
=
"select
*
from
where
webName
like
'%中國工商銀行%'
「'
string
name
=
「中國工商銀行」;
sql
=
"select
*
from
where
webName
like
'%『"+name+"』%'
「;
你的寫法轉換成sql就是
找出webName
中的」name「這個名詞
而不是」中國工商銀行上海支行「
⑨ 趙桐正講的thinkphp中SQL模糊查詢時%{$_POST['username']}%,為什麼有{}
變數前後有字元的話,要加上 {} 來區分,不然系統會默認的將$ 後面所有的字元都當成變數的名字