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技術
          主站蜘蛛池模板: 宜阳县| 宁强县| 郑州市| 神木县| 崇义县| 顺平县| 南通市| 浙江省| 牙克石市| 卫辉市| 阳春市| 阳谷县| 泗水县| 伊春市| 九台市| 盐山县| 遵义市| 枣庄市| 东丰县| 广汉市| 平潭县| 吐鲁番市| 望城县| 昔阳县| 大埔县| 巴楚县| 公安县| 河西区| 尉氏县| 普格县| 大厂| 嘉荫县| 莱阳市| 安陆市| 化州市| 茂名市| 沈丘县| 广东省| 汝南县| 阿城市| 和顺县|