将oracle中的逗号转成全角,ORACLE SQL半角全角转换

这篇博客讨论了在远程开发中处理CSV模板时遇到的问题,即客户提供的模板缺少主键ID,仅包含价目表名称。文章详细介绍了如何通过SQL查询,使用Oracle PL/SQL的函数TO_SINGLE_BYTE和REPLACE去除字符串中的空格,并进行全角到半角的转换。此外,还提到了利用ODBC导入数据作为替代方案的便利性。
摘要由CSDN通过智能技术生成

远程开发时通知客户发一个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')

e94bc4f8f068efa433adcbe1a20863b5.png

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

471661f78c246cd5cddcce38aff93c4e.png

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

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导入更为方便

d4dac963adf2351478f0ddf5709973f1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值