您的位置:首页 > 数据库

AS400 DB2 SQL常用函数总结

2016-12-09 11:04 756 查看
说明,本文所述,全部是针对使用SQL语句操作DB2,而不是在AS400的绿屏下使用AS400的命令操作Library、object、menber

一、AS400 DB2 SQL语法基础特别说明

1、AS400 DB2 SQL库、表、字段名都不区分大小写

2、AS400 DB2如果不在绿屏里面使用DDS创建表,而是直接使用SQL创建表,注意字段类型不支持一下类型

不支持VARCHAR2, 但是支持VARCHAR

3、表没有取别名的情况下,则字段一定不能使用别名.字段

开发时,多表join查询,有时因为不同的表有相同的字段,这是需要对表名取别名,然后表别名.字段,以区分具体是哪个表的字段

SELECT ITNBR FROM AMFLIBF.ITMRVA;               --√:表不使用别名
SELECT ITNBR FROM AMFLIBF.ITMRVA ITMRVA;        --√:表使用别名,字段不加表别名
SELECT ITMRVA.ITNBR FROM AMFLIBF.ITMRVA ITMRVA; --√:表使用别名,字段也加表别名
SELECT ITMRVA.ITNBR FROM AMFLIBF.ITMRVA;        --×:表不使用别名,字段加表别名,(Oracle支持此写法,请注意对比)


二、常用SQL函数

1、AS400 DB2复制表SQL语句

AS400 DB2依据一个表,创建一个新的表,语法完全不同于其他数据库,如果需要复制表数据,必须分2个步骤,先定义复制表,然后再拷贝数据

定义复制表 ,DEFINITION ONLY

CREATE TABLE 复制库.复制表名 AS (SELECT * FROM 参考库.参考表) DEFINITION ONLY;


复制表数据,复制数据和其它数据库操作类似

INSERT INTO 复制库.复制表名 SELECT * FROM 参考库.参考表;


2、coalesce函数使用,类似于其他数据库的NVL函数

coalesce(字段,默认值):结果就是如果字段值不为NULL,则使用自己的值,否则使用默认值

SELECT COALESCE(MAX(ADFCNB), 100) FROM AMFLIBF.MBADREP WHERE ADCVNB = '    666'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: