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技術
          主站蜘蛛池模板: 松溪县| 河南省| 喀喇| 新民市| 江华| 竹北市| 那曲县| 日喀则市| 峨眉山市| 芦山县| 东丰县| 牟定县| 武汉市| 修水县| 盐池县| 荥阳市| 大方县| 左云县| 濮阳市| 伊吾县| 蛟河市| 桂林市| 巫溪县| 抚松县| 旌德县| 城口县| 天津市| 黑河市| 分宜县| 海宁市| 安陆市| 卫辉市| 江油市| 黄冈市| 湘潭市| 灌南县| 巍山| 合山市| 东阳市| 印江| 嘉禾县|