美文网首页
第118章 SQL函数 REVERSE

第118章 SQL函数 REVERSE

作者: Cache技术分享 | 来源:发表于2022-04-21 09:28 被阅读0次

    第118章 SQL函数 REVERSE

    标量字符串函数,它以相反的字符顺序返回一个字符串。

    大纲

    REVERSE(string-expression)
    

    参数

    • string-expression - 要反转的字符串表达式。表达式可以是列名、字符串文字、数字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。

    描述

    REVERSE 返回字符顺序颠倒的字符串表达式。例如 'Hello World!' 返回为 '!dlroW olleH'。这是一个简单的字符串顺序反转,没有额外的处理。

    返回的字符串是数据类型 VARCHAR,与输入值的数据类型无关。数字转换为规范形式,数字字符串在反转之前不会转换为规范形式。

    前导和尾随空白不受反转的影响。

    反转 NULL 值会导致 NULL

    注意:因为 REVERSE 总是返回一个 VARCHAR 字符串,所以某些类型的数据在反转时会变得无效:

    • 反向列表不再是有效列表,无法从存储格式转换为显示格式。
    • 反转日期不再是有效日期,并且无法从存储格式转换为显示格式。

    示例

    以下示例反转 Name 字段值。在这种情况下,这会导致名称按中间名首字母排序:

    SELECT Name,REVERSE(Name) AS RevName
    FROM Sample.Person
    ORDER BY RevName
    
    image.png

    请注意,因为 NameRevName 只是同一字段的不同表示,所以 ORDER BY RevNameORDER BY RevName,Name 执行相同的排序。

    以下示例反转数字和数字字符串:

    SELECT REVERSE(+007.10) AS RevNum,
           REVERSE('+007.10') AS RevNumStr
           
    1.7 01.700+
    

    以下嵌入式 SQL 示例反转 $DOUBLE 数字:

    /// d ##class(PHA.TEST.SQLFunction).Reverse()
    ClassMethod Reverse()
    {
        s dnum = $DOUBLE(1.1)
        &sql(
            SELECT REVERSE(:dnum) INTO :drevnum
        )
        w dnum,!
        w drevnum,!
    }
    
    DHC-APP> d ##class(PHA.TEST.SQLFunction).Reverse()
    1.1000000000000000888
    8880000000000000001.1
    

    以下示例显示了反转列表时发生的情况:

    SELECT FavoriteColors,REVERSE(FavoriteColors) AS RevColors
    FROM Sample.Person
    
    image.png

    以下示例显示了反转日期时发生的情况:

    SELECT DOB,%INTERNAL(DOB) AS IntDOB,REVERSE(DOB) AS RevDOB
    FROM Sample.Person
    
    image.png

    相关文章

      网友评论

          本文标题:第118章 SQL函数 REVERSE

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