幸せのちから

          平凡的世界
          看似平常實崎嶇
          成如容易卻艱辛

          ORACLE SQL中使用case來分別調用like和等號關聯的操作

          需求定義: 對于傳入的字符串參數,需要對該字符串進行判斷,如果字符串含有%號,則條件語句中應使用ORACLE的like語句,否則的話直接找相等的字符串。

          SQL語句:
          SELECT
              *
          FROM
                  TABLEA
          WHERE  
                 COLUMN1 =  'KEYWORD-COLUMN1'     AND
                 COLUMN2    IN
                      (SELECT
                          CASE
                          WHEN INSTR('KEYWORD-COLUMN2', '%') > 0
                          THEN
                              (SELECT COLUMN2  FROM  TABLEA WHERE COLUMN2  like 'KEYWORD-COLUMN2'
                              )
                          ELSE
                              (SELECT COLUMN2 FROM TABLEA WHERE COLUMN2  = 'KEYWORD-COLUMN2'
                              )
                          END
                          FROM DUAL
                      )
          以上的KEYWORD-COLUMN1和KEYWORD-COLUMN2都是定義的參數,需要根據傳入的值來分別進行操作。主要是使用了ORACLE的CASE語句。
          不知道有哪位高人有更好的方法。

          posted on 2009-03-11 12:47 Lucky 閱讀(1068) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          隨筆分類(125)

          文章分類(5)

          日本語

          搜索

          積分與排名

          最新隨筆

          最新評論

          主站蜘蛛池模板: 景东| 漳浦县| 香格里拉县| 张家港市| 庆云县| 新乡市| 镇沅| 章丘市| 南郑县| 太仓市| 咸丰县| 西藏| 临泉县| 五莲县| 治多县| 新竹县| 四平市| 辽阳市| 黄山市| 龙井市| 象山县| 平泉县| 和田市| 泸州市| 五华县| 巴林右旗| 淮南市| 台北市| 兴业县| 海安县| 大足县| 高邮市| 涪陵区| 濮阳县| 南开区| 南康市| 房山区| 阿巴嘎旗| 湘潭市| 毕节市| 渝北区|