• DB2数据库常用的函数总结


    CONCAT
    >>-CONCAT-------(--expression1--,--expression2--)--------------><
    功能:将两个字符串连接起来,如果两个参数中,有任一为null,则返加null。

    例:
    values(CONCAT('cxccxd','tttt'))  返回:cxccxdtttt

    TO_CHAR
    >>-TO_CHAR--(--timestamp-expression--,format-string--)---------><
    同VARCHAR_FORMAT.函数用法相同

    TO_DATE
    >>-TO_DATE--(--string-expression--,format-string--)------------><
    同TIMESTAMP_FORMAT函数用法相同
    ---------------------

    SUBSTR
    >>-SUBSTR--(--string--,--start--+-----------+--)---------------><
                                    '-,--length-'
    功能:从string串中,start指定的位置取length长度的字符串
    ---------------------

    SPACE
    >>-SPACE--(--expression--)-------------------------------------><
    功能:返回参数指定数量的空格字符,最大不能超过4000个字符
    参数:SMALLINT or INTEGER类型

    SQRT
    >>-SQRT--(--expression--)--------------------------------------><
    功能:返回平方根,结果为double-precision floating-point类型
    参数:内置数值类型
    例:
    VALUES (SQRT (400))  返回:20
    ---------------------

    SIGN
    >>-SIGN--(--expression--)--------------------------------------><
    功能:返回标记-1、0、1,判断参数是负数、0、还是正数,如果为负数则返加-1,如果为0,则返回0,如果为正数,则返回1
    参数:要求为内置数值类型。
    例:
    VALUES (sign(2.5))  返回:1
    VALUES (sign(0))      返回:0
    VALUES (sign(-254))  返回:-1

    ---------------------

    VALUE函数 

    语法:VALUE(EXPRESSION1,EXPRESSION2) 
    VALUE函数是用返回一个非空的值,当其第一个参数非空,直接返回
    该参数的值,如果第一个参数为空,则返回第一个参数的值。 
    SELECT VALUE(ID,'') FROM T1  
    表示如果T1.ID为空,则返回空串,如果T1.ID不为空,则返回T1.ID。

    NVL函数是一个空值转换函数

    NVL(表达式1,表达式2)

    如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。
    该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型。

    • 对数字型:NVL( a,0);
    • 对字符型:NVL(TO_CHAR(a), 'zifeiy')
    • 对日期型:NVL(mydate,'31-DEC-99')
      • 1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,'')把NULL转换成'';
        2. 输入类型为整型,且允许为空的,可以使用COALESCE(inputParameter,0),把空转换成0;
        3. 输入参数为字符类型,且是非空非空格的,可以使用COALESCE(inputParameter,'')把NULL转换成'',然后判断函数返回值是否为'';
        4. 输入类型为整型,且是非空的,不需要使用COALESCE函数,直接使用IS NULL进行非空判断。
        5.对''值的处理,' '或''在数据库中不是NULL而是空格存在需要使用 = ' '验证[color=red][/color
      • 方法1:row_number()函数
        select * from 
        (
        select a.*,row_number() over(partition by 分组字段 order by 排序字段) rn from 表名;
        

        ) b where rn = 1

  • 相关阅读:
    Mysql基础学习
    shell中脚本调试----学习
    Eureka 集群Demo
    Java获取到异常信息进行保存(非Copy)
    Feign String 参数 传递null 以及 空字符串问题
    Eureka系列(九)Eureka自我保护机制
    Eureka系列(八)服务剔除具体实现
    Eureka系列(六) TimedSupervisorTask类解析
    Eureka系列(五) 服务续约流程具体实现
    Eureka系列(四) 获取服务Server端具体实现
  • 原文地址:https://www.cnblogs.com/dibinbin/p/10900477.html
Copyright © 2020-2023  润新知