zoukankan      html  css  js  c++  java
  • 在orale中向左/向右填充字符

    目前看到两种比较常用的填充的方法,这里总结记一下:

    1、使用lpad函数或者rpad函数(这里先总结有这个可以用,至于细节上怎么用后面扩展

    --比如将港股股票代码转为内地股票代码的6位数
    select lpad('9003', 6, '0') as stock_code from dual;

    结果是:

    row_num stock_code
    1 009003

    这里表示的是利用lpad函数,将字符串‘9003’自动在左边用‘0’单字符作为子串填充为6位数字符串。

    如果SQL改为这样:

    --将01作为子串,进行右边填充至字符串长度为10
    select rpad('9003', 10, '01') as stock_code from dual;

    结果是:

    stock_code
    9003010101

    注意:如果没有写填充子串的话,子串默认为空格,并且最后的字符串的长度还是参数里写的目标串要转化的字符串长度。比如:

    select rpad('9003', 10) as stock_code from dual;

    结果串的长度还是10.

    2、第二种方法是:将填充字符串显式地现出来,与目标串拼接起来,最后用right或者left函数取。这个的好处是,填充的字符串可以是没有规则的字符串。比如:

    select left('6007'||'ABCDEFGHIJKLMN', 11) as stock_code from dual;

    结果是:

    stock_code
    6007ABCDEFG

    这个用法的话注意两个问题:

    》使用left函数的话,拼接子串在右边;right函数的话,拼接的子串在右边;

    》假如目标串的长度与拼接子串之和小于参数规定的返回串的长度,那么返回结果仅仅是:目标串+拼接串(或者:拼接串+目标串)。这个是跟lpad或者rpad函数不同的地方。

  • 相关阅读:
    音视频入门-06-代码画图时间
    音视频入门-05-RGB-TO-BMP使用开源库
    音视频入门-04-BMP图像四字节对齐的问题
    音视频入门-03-RGB转成BMP图片
    控制input文本框只能输入正整数(H5)
    微信小程序自定义导航栏配置(顶部栏搜索框)
    React-日历组件(原生JS代码)
    package.json文件详解
    解决HTML5IOS拍照上传图片逆时针旋转90度问题(React)
    项目细节
  • 原文地址:https://www.cnblogs.com/ufindme/p/5044382.html
Copyright © 2011-2022 走看看