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 閱讀(3929) 評論(0)  編輯  收藏 所屬分類: Oracle技術
          主站蜘蛛池模板: 即墨市| 辽中县| 商河县| 鹰潭市| 涟源市| 浪卡子县| 兰考县| 景洪市| 平南县| 茶陵县| 永定县| 鄂尔多斯市| 苍南县| 中西区| 澄城县| 柳州市| 山东省| 韩城市| 邹平县| 元氏县| 淮滨县| 兴海县| 长海县| 浠水县| 江门市| 台中县| 永济市| 泉州市| 黄梅县| 那曲县| 顺义区| 灵石县| 杭锦旗| 海城市| 长海县| 佛教| 城口县| 曲阜市| 六安市| 兰西县| 玉田县|