ORACLE SQL半角全角转换

 

远程开发时通知客户发一个CSV模板需要批量操作上传,但是这个模板发过来没有使用对应的主键ID,只给出了价目表的NAME字符串。

 

select distinct qlhv.name              name,
                qlhv.price_list_id     price_list_id,
                qlhv.description       description,
                qlhv.start_date_active,
                qlhv.end_date_active
  from QP_PRICELISTS_LOV_V qlhv 
   where sysdate between qlhv.start_date_active and nvl(qlhv.end_date_active,DATE'9999-9-9')

ORACLE SQL半角全角转换_第1张图片


to_single_byte(c)转换成半角
to_multi_byte(c)转换成全角

ORACLE SQL半角全角转换_第2张图片


转半角并且去掉字符串中的所有空格。

 SELECT S.PRICE_LIST_ID,S.NAME FROM CUX_POBPA_CELLS T ,(   
SELECT DISTINCT REPLACE(TO_SINGLE_BYTE(QLHV.NAME),' ')              NAME,
                QLHV.PRICE_LIST_ID     PRICE_LIST_ID,
                QLHV.DESCRIPTION       DESCRIPTION,
                QLHV.START_DATE_ACTIVE,
                QLHV.END_DATE_ACTIVE
  FROM QP_PRICELISTS_LOV_V QLHV 
   WHERE SYSDATE BETWEEN QLHV.START_DATE_ACTIVE AND NVL(QLHV.END_DATE_ACTIVE,DATE'9999-9-9') )S
    WHERE T.CELL_3 = S.NAME(+);


 或者利用PLSQL的ODBC导入更为方便

ORACLE SQL半角全角转换_第3张图片


你可能感兴趣的:(DataBase)