前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL函数 REVERSE

SQL函数 REVERSE

作者头像
用户7741497
发布2022-07-08 12:57:53
1.2K1
发布2022-07-08 12:57:53
举报
文章被收录于专栏:hml_知识记录hml_知识记录

SQL函数 REVERSE

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

大纲

代码语言:javascript
复制
REVERSE(string-expression)

参数

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

描述

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

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

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

反转 NULL 值会导致 NULL

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

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

示例

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

代码语言:javascript
复制
SELECT Name,REVERSE(Name) AS RevName
FROM Sample.Person
ORDER BY RevName

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

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

代码语言:javascript
复制
SELECT REVERSE(+007.10) AS RevNum,
       REVERSE('+007.10') AS RevNumStr
       
1.7 01.700+

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

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

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

代码语言:javascript
复制
SELECT FavoriteColors,REVERSE(FavoriteColors) AS RevColors
FROM Sample.Person

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

代码语言:javascript
复制
SELECT DOB,%INTERNAL(DOB) AS IntDOB,REVERSE(DOB) AS RevDOB
FROM Sample.Person

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL函数 REVERSE
  • 大纲
  • 参数
  • 描述
  • 示例
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档