台灣最大程式設計社群網站
線上人數
1472
 
會員總數:246136
討論主題:189720
歡迎您免費加入會員
討論區列表 >> MS SQL >> 如何查詢帶有空白的字串
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何查詢帶有空白的字串
價值 : 50 QP  點閱數:3991 回應數:5
樓主

QZ_CHUNG
初學者
420 4
631 36
發送站內信


各位前輩好,

小弟目前在進行查詢時,若資料字串中帶有空白值那就無法搜尋成功
例如在A資料表中的B欄位搜尋' target'

若直接
SELECT B
FROM A
WHERE B='target'
則無法查詢到

目前小弟只能先將空白值刪除,在查詢才可
UPDATE A SET B= TRIM(B) WHERE B LIKE '% %';

SELECT B
FROM A
WHERE B='target'


想請問各位前輩,若想在不變動資料表中的資料的情況下成功查詢,該怎麼做才對
目前試過Trim、Ltrim、Rtrim、replace但都無法成功查詢

希望前輩們能指點迷津,謝謝前輩





搜尋相關Tags的文章: [ 查詢帶有空白的字串 ] ,
本篇文章發表於2016-11-10 10:28
1樓
作者回應

QZ_CHUNG
檢舉此回應
抱歉,好像空白被過濾了

例如在A資料表中的B欄位搜尋'__________target'
(底線為空白的意思)


該如何在不變更資料表的情形下進行查詢


謝謝前輩
本篇文章回覆於2016-11-10 10:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

Daimom
捐贈 VP 給 Daimom 檢舉此回應
MSsql 沒trim 你的是mysql吧?

SELECT B
FROM A
WHERE B=trim('target')

這樣應該就可以,資料寫入的時候直接排除空白是比較好的選擇...
本篇文章回覆於2016-11-10 10:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

asp小菜渣
檢舉此回應
同二樓所說,
不過MS SQL使用replace去除空白應該可行才對…

本篇文章回覆於2016-11-10 11:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

QZ_CHUNG
檢舉此回應
謝謝各位前輩,跑出來了
我昨天嘗試了好久Q

非常感謝兩位前輩的幫助
本篇文章回覆於2016-11-10 11:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

四百龍銀
檢舉此回應
可以看一下為啥會有空白值被帶入,是否為欄位型態造成
這樣寫扣或T-SQL也很麻煩 要一直進行replace 或 trim
本篇文章回覆於2016-11-10 11:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.