专题内容简介:
1.基本概念解读
2.语句说明示例
3.函数说明示例
一、基本概念解读
1.ESQL(Extended Structured Query Language):可扩展的结构化查询语言,是消息流编程的主要语言。
2.数据类型:Boolean ,Datetime ,Numeric ,String和Reference。
3.声明变量:
DECLARE ref REFERENCE TO OutputRoot.XML.Person
4.操作符:
比较操作符:>、BETWEEN等
逻辑操作符:AND、NOT等
计算操作符:+、||等
5.ESQL语句:程序执行的基本单位,调试断点只能设在语句行上。
6.ESQL函数(Function):本身提供&用户自定义
7.ESQL过程(Procedure):ESQL是过程化语言,函数体位于BEGIN…END中。
8.ESQL模块(Module):一组变量、函数、过程的集合。
9.引号:单引号表示字符串,双引号表示标识(比如保留字)。
10.注释:行注释用“--”,段注释用“/* */”。
二、语句说明示例
1.IF … END IF
示例说明:
IF j > MAX THEN
SET j = MAX
END IF;
2.CASE …
WHEN (value/condition) THEN (statements)
END CASE
示例说明:
CASE CurrentMonth
WHEN ‘01’ THEN Month = ‘January’
WHEN ‘02’ THEN Month = ‘February’
END CASE;
3.FOR name AS reference DO statements
END FOR
示例说明:
SET I = 1;
FOR Item AS MessageRoot.Invoice.Purchase.Item[] DO
SET MessageRoot.BasicStatement.FOR.Item[I] = Item;
END FOR;
4.LOOP statements END LOOP
注:LOOP语句会循环往复的执行statements部分的ESQL语句,在语法结构中是死循环,需要与ITERATE和LEAVE配合使用。
示例说明:
DECLARE I INT 0;
X:LOOP
SET I = I + 1;
IF I > 3 THEN
LEAVE X;
END IF;
END LOOP X;
5.WHILE conditioon DO statements END WHILE
示例说明:
DECLARE I INTEGER 1;
WHILE I <= 3 DO
…
SET I = I + 1;
END WHILE;
6.REPEAT statements UNTIL condition END REPEAT
示例说明:
DECLARE I INTEGER 1;
X : REPEAT
SET I = I + 1;
UNTIL I >= 3
END REPEAT X;
7.LEAVE label
功能说明:
LEAVE语句可以将执行控制从带标签的WHILE、REPEAT、LOOP循环语句中跳出,也可以跳出标签的BEGIN…END块。
示例说明:
DECLARE I INTEGER 0;
X : REPEAT
IF I > 1 THEN
LEAVE X;
END IF;
UNTIL FALSE;
END REPEAT X;
8.ITERATE label
功能说明:
ITERATE结束当前循环过程而直接跳到下一次。
示例说明:
DECLARE I INTEGER 0;
X : REPEAT
SET I = I + 1;
IF I IN (2, 3) THEN
ITERATE X;
END IF;
UNTIL I > 4
END REPEAT X;
三、函数说明示例
字串操作函数
1.UPPER(或UCASE)/LOWER(或LCASE)
语法格式:UPPER/LOWER(String)
说明示例:UPPER(‘abc’)
2.LENGTH
语法格式:LENGTH(String)
说明示例:LENGTH(‘Hello world’) 返回11
3.POSITION
语法格式:POSITON(String IN String)
说明示例:POSITION(‘A’ IN ‘ABC’) 返回1
4.LEFT/RIGHT
功能说明:拷贝源字符串中左起/右起长度为LENGTH的部分
语法格式:LEFT(String, LENGHT)
说明示例:LEFT(‘ABCD’, 2) 返回AB
5.TRIM/LTRIM/RTRIM
语法格式:TRIM(String)
说明示例:LTRIM(‘ Hello’) 返回’Hello’
6.OVERLAY
功能说明:将字串SourceString中从position开始且长度为length的部分覆盖替换成ReplaceString
语法格式:OVERLAY(SourceString PLAYCING ReplaceString FROM position FOR length)
说明示例:OVERLAY(‘ABCDEFG’ PLACING ‘123’ FROM 4 FOR 3)
返回’ABCD123G’
7.SPACE
功能说明:返回一个连续的number个空字符串
语法格式:SPACE(number)
说明示例:SPACE(3) 返回‘ ’
数学计算函数
1.ABS(ABSVAL)
功能说明:返回number的绝对值
语法格式:ABS(number)
说明示例:ABS(-12) 返回12
2.SIGN
功能说明:返回number的符号
语法格式:SIGN(number)
说明示例:SIGN(4) 返回1
SIGN(-1) 返回-1
SIGN(0) 返回0
3.MOD
功能说明:返回被除数dividend除以除数divisor后的余数
语法格式:MOD(dividend, divisor)
说明示例:MOD(7, 3) 返回1
4.CEIL(CEILING)/FLOOR
功能说明:对number按上限/下限取整
语法格式:CEIL(number) 、FLOOR(number)
说明示例:CEIL(1.3) 返回2
FLOOR(1.3) 返回1
5.SORT
功能说明:返回数值的平方根
语法格式:SORT(number)
说明示例:SORT(4.0) 返回2E+0
日期与时间函数
ESQL提供了八种用于求日期与时间的函数:
EXTRACT 提取时间元素,如年、月、日等
CURRENT_DATE 返回当前本地日期
CURRENT_TIME 返回当前本地时间
CURRENT_TIMESTAMP 返回当前本地日期与时间
CURRENT_GMTDATE 返回当前GMT日期
CURRENT_GMTTIME 返回当前GMT时间
CURRENT_GMTTIMESTAMP 返回当前GMT日期与时间
LOCAL_TIMEZONE 返回本地时区与GMT的时差
域操作函数
ESQL提供了9个域操作函数
ASBITSTREAM 将域类型转换成BLOB类型
BITSTREAM 将域所在的一级子树内容转换成BLOB类型
FIELDNAME 返回域名
FIELDNAMESPACE 返回域名空间
FIELDTYPE 返回域类型
FIELDVALUE 返回域值
FOR 检查是否所有或部分项满足条件
LASTMOVE 检查上次指针赋值是否成功
SAMEFIELD 检查两处域的地址是否相同
集合操作函数
ESQL提供4个集合操作函数:
CARDINALITY 返回集合大小
EXISTS 检查集合是否至少含有一个元素
SINGULAR 检查集合是否只含有一个元素
THE 返回集合中的第一个元素
复杂操作函数
ESQL提供了5个复杂操作函数:
CASE 根据参数值或参数条件返回对应的内容
CAST 类型转换
SELECT 针对数据库表或消息字段进行选择操作
ROW 形成单行数据
LIST 形成数组数据
数据库操作函数
ESQL提供了4种数据库操作函数:
SQLCODE 数据库操作返回码
SQLERRORTEXT 数据库操作返回字串
SQLNATIVEERROR 数据库操作错误码
SQLSTATE 数据库操作状态码
其他操作函数
ESQL提供了5种其他操作函数:
COALESCE 返回参数串的第一个非空值
NULLIF 参数相等返回NULL,否则返回第一个参数
PASSTHRU 将内容原封不动的提交并跳过Parser
UUIDASBLOB 返回BLOB类型的UUID
UUIDASCHAR 返回CHARACTER类型的UUID
分享到:
相关推荐
ibm wmb esql, ESQL 编程学习资料,很详细,共包含4个ppt文档
【ESQL】字串操作函数以及相关案和神生动解析,源于日常生活工作中手机归纳而来,
ibm wmb wsrr soa esb 常见问题解答及JavaAPI
为IBM的WMB开发中用到的ESQL技术文档,入门必读的经典书籍
ibm wmb mq esb 参考资料, 包含精通Websphere MQ不完整版, mq入门教程, wmb概述, wmb操作命令总结, wmb中的SOAP节点简介等, 希望可以帮助大家.
品胜 Pisen WMB001N编程器 备份固件,可用于救砖,Uboot刷入,16M完全备份,刷入即可救砖。
WMB简要概述
wmb培训例子 wmb与MQ放取消息实例各节点用途介绍 wmb与webservice调用实例 wmb与数据库连接实例
ibm-wmb学习资料以及教程
有 SOA 相关的产品,都是构建于 MQ 之上的,没有 MQ 强大的消息传输能力,那么 IBM 很多 产品都做不起来。你可以把 MQ 当成一个传输通道,只要往里面放东西,MQ 就会把消息传到目的 地。 WebSphere MQ Explorer 是...
IBM WMB,WMBT,ESB 介绍, 包含2个pdf文档, 共118页
WAYON维安一级代理分销KOYUELEC光与电子WMB025N06LG2_W0803284_V5.0.pdf
目前能够找的中文WMB入门学习资料(最全的),其中资料的特点是“手把手教学式”。
wmb001n WMB001N_V1.0.18_1415 固件升级后系统稳定性得到了很大提高,可以实现局域网桥接功能,局域网中可以远程播放歌曲使用起来方便多了。
WMB Application Development
WMB_MM ppt介绍
本文介绍一种可行的WebSphereMessageBroker(WMB)自动部署方案项目实践,它使用Ant脚本从RationalTeamConcert(RTC)上更新给定Baseline的WMB项目资源,按需修改节点属性并自动打包并部署到指定的Broker服务器。...
IBM WMB 常用节点实验文档, 包含 MQInput,MQOutput,TraceNode,FilterNode,RouteToLabelNode,LabelNode,ComputeNode. 共3个pdf文档,实验内容: 日志记录,基于内容的消息路由,计算节点使用,图文结合,希望可以帮助大家!
NULL 博文链接:https://zhouhaitao.iteye.com/blog/1081829
WMB001N备份。。。。