专题内容简介:
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
分享到:
相关推荐
在WMB中,ESQL(Embedded SQL)是一种特殊的SQL方言,它允许开发者在消息流中直接执行SQL操作,增强了对数据的处理能力。以下是对ESQL编程学习资料的详细解释: 1. **ESQL概述** ESQL全称为Embedded SQL,即嵌入式...
本书籍是入门 WMB 开发时学习 ESQL 的经典之作,它提供了关于 ESQL 的全面指南,包括语法、数据类型、变量、字段引用、操作符等。 #### 二、ESQL 概览 **ESQL** 是一种专门设计用于处理和转换消息流的语言,类似于...
ESQL(Embedded SQL)是一种在应用程序中嵌入SQL语句的编程语言,它是数据库管理系统中的一个重要功能,用于简化应用程序与数据库之间的交互。在数据库编程中,字符串操作是一个非常常见的需求,ESQL提供了多种字符...
ESQL,即Extended SQL,是IBM WebSphere Message Broker(WMB)中用于处理消息数据的一种脚本语言。它结合了SQL的强大查询能力和C语言的控制结构,使得在消息传递过程中进行数据处理变得更加灵活和高效。ESQL特别...
在IT行业中,IBM WebSphere Message Broker (WMB),WebSphere Service Registry and Repository (WSRR),Service Oriented Architecture (SOA)以及Enterprise Service Bus (ESB)是企业级集成解决方案的关键组件。...
在本案例中,我们关注的是"品胜 Pisen WMB001N 编程器"的固件文件。这个设备主要用于对各种电子设备进行软件升级或故障恢复,特别是对于那些因为固件问题导致无法正常工作的设备,被称为"救砖"。 标题中的"WMB001N...
【IBM WebSphere Message Broker (WMB) 知识点详解】 IBM WebSphere Message Broker (WMB) 是IBM提供的一种企业服务总线(ESB),它主要用于实现不同系统间的集成和数据传输,支持多种协议和标准,如MQ系列、HTTP、...
【IBM WMB 介绍】 IBM WebSphere Message Broker (WMB),也称为 IBM Integration Bus (IIB),是IBM提供的一款强大的企业服务总线(ESB)和消息中间件产品。它在SOA(Service-Oriented Architecture)环境中起着至关...
【WebSphere Message Broker (WMB) 培训资料】...WMB的强大之处在于其灵活性和可扩展性,能够适应各种集成需求,如与Web服务的调用、与数据库的交互等。学习和掌握WMB的使用,对于构建高效、可靠的分布式系统至关重要。
"IBM WebSphere Message Broker(WMB)"是一个强大的中间件平台,用于构建和管理企业级的消息集成解决方案。作为IBM的旗舰产品,WMB允许不同系统和应用程序之间进行数据交换,支持多种协议和标准,如JMS(Java ...
wmb001n WMB001N_V1.0.18_1415 固件升级后系统稳定性得到了很大提高,可以实现局域网桥接功能,局域网中可以远程播放歌曲使用起来方便多了。
WMB简要概述
有 SOA 相关的产品,都是构建于 MQ 之上的,没有 MQ 强大的消息传输能力,那么 IBM 很多 产品都做不起来。你可以把 MQ 当成一个传输通道,只要往里面放东西,MQ 就会把消息传到目的 地。 WebSphere MQ Explorer 是...
标题中的“WMB 使用Compute节点连接Oracle数据库实例”指的是WebSphere Message Broker(WMB)如何配置和使用Compute节点来与Oracle数据库进行交互。WebSphere Message Broker是IBM提供的一款中间件,用于实现应用...
ESQL是WMB的核心功能之一,用于实现对消息中的数据进行提取、转换和加载等操作。 #### 二、ESQL概述 **1. 特点** - **嵌入式SQL**:ESQL是一种特殊的SQL方言,可以在WMB的消息流中直接使用。 - **灵活性**:通过...
标题中的"WAYON维安一级代理分销KOYUELEC光与电子WMB025N06LG2_W0803284_V5.0.pdf"表明这是由WAYON维安公司作为一级代理分销的KOYUELEC品牌的光与电子产品资料,具体型号为WMB025N06LG2,文档版本为V5.0。...
- 解决方案涉及使用WMB提供的ESQL(Embedded SQL)或XSLT等技术,来创建和设置新元素的值。题目中给出的正确答案D展示了如何通过声明字段引用、创建新兄弟节点并设置值来实现这一目标。 3. **ESQL代码解析** - ...
目前能够找的中文WMB入门学习资料(最全的),其中资料的特点是“手把手教学式”。
WMB_MM ppt介绍