• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > DB2中REVERSE函数的实现方法

DB2中REVERSE函数的实现方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了db2字符串函数,db2 to date函数,db2 replace函数,db2 value函数,db2 时间函数等相关知识,希望本文的分享对您有所帮助

ORACLE:

SQL> select reverse('1234') from dual;

REVERSE(
--------
4321

SQL> select reverse(12121) from dual;
select reverse(12121) from dual
               *
第 1 行出现错误:
ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER

说明oracle中reverse的参数是char类型,返回值也是char,到底是不是这样,我们来验证一下

SQL> select length(reverse('1234    ')) from dual;

LENGTH(REVERSE('1234'))
-----------------------
                      8

SQL> select reverse('1234    ') from dual;

REVERSE('1234')
----------------
    4321

如果返回类型是varchar,长度应该是4,所以返回值是char。参数类型也应该是是char。

sql server:

reverse函数的参数类型varchar或nvarchar,返回类型也是varchar或nvarchar

C:\>sqlcmd -S kermart -U sa -P sa -d master
1> select reverse('1234');
2> go

----
4321

(1 行受影响)
1> select reverse(1234);  --发生类型转换,应该可以从执行计划中看出来
2> go

------------
4321

(1 行受影响)

 
基于oracle,sql server都内置了reverse函数,DB2也应该有它的reverse函数,因为有一定的应用场景。

CREATE OR REPLACE FUNCTION REVERSE
(
 p1 varchar(200)
)
 RETURNS VARCHAR(200)
 SPECIFIC "REVERSE"
 LANGUAGE SQL
 DETERMINISTIC
 NO EXTERNAL ACTION
 READS SQL DATA
BEGIN

 declare v_str varchar(100) default '';
 DECLARE v_index INTEGER;  --定义下标
 SET v_index = length(p1);
 WHILE(v_index >= 1) DO
  SET v_str = v_str||substr(p1,v_index,1);
  SET v_index = v_index - 1;
 END WHILE;
 return v_str;
END@
</div>

测试一下

select reverse('123456') from dual;

654321

select reverse(1234) from dual; --看执行计划,应该可以看到类型转换

4321

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • DB2中REVERSE函数的实现方法

相关文章

  • 2017-06-28数据架构师: 当数据不再受欢迎
  • 2017-06-28DB2高可用性灾难恢复(HADR)有哪些限制?
  • 2017-05-11IBM DB2 日常维护汇总(四)
  • 2017-06-28专访IBM DB2专家:XML引发数据库二次革命?
  • 2017-06-28DB2常用命令集
  • 2017-06-28交付有效且灵活的数据仓库解决方案:第2部分:仓库设计和数据建模
  • 2017-06-28面向 Visual Studio 2005 开发人员的 DB2 UDB,第 1 部分: 针对 Visual Studio 2005 的 IBM 数据库插件概述
  • 2017-06-28DB2 9.5提供给.NET开发的XML工具概述
  • 2017-06-28DB2 日常维护技巧,第 1 部分:数据库日志错误处理
  • 2017-06-28了解DB2数据库优化的几条策略

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • DB2 9 颠覆关系型数据库?
    • 基于IBM I服务器的DB2自动优化工具
    • DB2 UDB V8.1管理学习笔记(三)
    • DB2 Warehouse Enterprise Edition V9.5 的安装与配置 2
    • 使用 Optim Data Privacy 解决方案在开放平台上定制数据转换
    • 使用 DB2 Change Management Expert 进行数据库版本控制
    • DB2编程序技巧 (七)
    • DB2存储过程开发最佳实践
    • DB2跨平台数据库迁移步骤和注意事项
    • DB2 Express-C 9.7.2 新增特性

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有