posts - 60,comments - 71,trackbacks - 0

              在進行模糊查詢時,一般使用的形式是 like 'key%',like '%key',like '%key%' 等幾種形式,其中key一般是固定的值,這樣從數據庫表中查出所需的數據,但最近做的一個任務中有這樣的一需求,即key是變化的,根據不同的條件獲取不同的key值做為like中的條件,來獲取所需的數據,想了一下,需要用到oracle中的字符串連接符:|| ,如下:

          SELECT  ue.*  FROM user ue WHERE  name LIKE '' || ( SELECT username FROM student st WHERE st.stud_id='1003'|| '%' 

              user是一張記錄所有用戶名等其他比較全的數據,然后根據學生ID查詢學生姓名,因為可能會有姓名相同的學生,所以用此方法可以查詢出user表中所有姓名相似(如有王小和王小華,王小兵三個學生,而ID為1003的學生為王小,則這條語句就可以查出這三個人的相關數據).
          當然這里只是舉的一個簡單例子,我相信實際的生產應用中是存在這樣的需求的,這里重要是介紹這種SQL語句的寫法,卻確的說是關于like的寫法,即用oracle的連接符來完成.
              即:前面兩個引號的作用是生成一個引號,||是字符串連接符,用來連接SELECT username FROM student st WHERE st.stud_id=1003' 語句查詢得到的字符串,后面的||是用來連接%的,最后得到的語句大至如:
          like 'aaa%' 的形式.即實現key關鍵字動態變化的模糊查詢.
          posted on 2008-05-31 17:18 henry1451 閱讀(3936) 評論(0)  編輯  收藏 所屬分類: Oracle技術
          主站蜘蛛池模板: 双柏县| 子长县| 屏南县| 会同县| 东丽区| 鹿邑县| 五峰| 井冈山市| 甘孜| 新疆| 连平县| 泾阳县| 阿克苏市| 溆浦县| 永州市| 调兵山市| 卢氏县| 咸宁市| 佛学| 南投市| 思茅市| 洞头县| 腾冲县| 双峰县| 红桥区| 醴陵市| 留坝县| 左权县| 凤山县| 商洛市| 辛集市| 赣榆县| 临澧县| 澄江县| 鄯善县| 广宗县| 茶陵县| 浙江省| 景德镇市| 万年县| 郯城县|