SQL学习笔记2:函数运算

作者: cshuangc | 来源:发表于2019-06-27 23:20 被阅读3次

    1. substr:截取字符串

    substr(列名,截取起始数,截取长度)       

    #截取起始数和截取长度均为数字。截取起始数为负数时,表示从倒数第几位开始截取。

    例:select substr(‘YOU’,3,1) form dual        #dual是一张虚构表,from dual可看作from自身。

    2. trim:去掉前后两头空格,中间的空格去不掉

    3. replace:替换字符。(未改变原始数据,创造了新的列)

    replace(列名,原字符,新字符)        #区分大小写

    例:去除“__I_LOVE_YOU__"中所有的“_”

              select replace(‘  I LOVE YOU  ',",") from dual

    4. upper/lower:转化大/小写

    5. length:查询字符串长度(不分中英文)

    6. ABS:取绝对值(只针对数字型或文本型的数字)

    7. mod:取余数

    8. nvl:将空值转化为指定值

    9. instr:在一列中搜索指定字符,返回指定字符所在位置

    instr(列,指定的搜索内容,搜索起始点,第几次出现)

    #搜索起始点和第几次出现默认为1;搜索起始点为负数时按从右到左的顺序找,但返回的仍是正序位置。

    instr在条件句中可代替like。使用instr(列,字符)>0即可。

    10. greatest:返回多列中较大值

    greatest(列,列,列)

    注:比较对象中若有空值需转化,否则会返回空值。

    11. round、trunc:指定精度进行舍入(针对数字型)

    round(列,位数):四舍五入                    #位数为负数时代表舍弃小数点前多少位

    trunc(列,位数):直接舍弃                    #位数为负数时代表舍弃小数点前多少位

    trunc(日期,截点格式)             #去除日期的时分秒,针对日期型。截点格式必须加引号,省略默认认为‘dd’。截点格式表示保留到该位,该位后化为最小值。ss:秒;mi:分;hh:时;dd:天;mm:月;yyyy:年。

    例:select trunc(sysdate,‘mi’) from dual            #将系统当前时间保留到分的格式

    12. 日期增减:日期型数据+/-数字

    select sysydate+1 from dual

    select date‘1991-01-01’-1 from dual

    #select ‘1991-01-01’+1 from dual             不可以这么写,会报错,必须是日期型的数据

    13. add_month:月份的增减

    14. month_between:两个日期之间的月份

    month_between(日期1,日期2)

    15. last_day:查询指定日期所属月份的最后一天

    16. 其他数据与日期型数据的转换

    to_date(‘1991-01-01’,‘yyyy-mm-dd’):将字符型转为日期型

    date‘1991-01-01’:将数据转为日期

    to_char(sysdate,‘mi’):将日期转为字符

    相关文章

      网友评论

        本文标题:SQL学习笔记2:函数运算

        本文链接:https://www.haomeiwen.com/subject/cgadcctx.html