专题内容简介:
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;

三、函数说明示例
[color=orange]字串操作函数[/color]
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) 返回‘ ’

[color=orange]数学计算函数[/color]
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

[color=orange]日期与时间函数[/color]
ESQL提供了八种用于求日期与时间的函数:

EXTRACT 提取时间元素,如年、月、日等
CURRENT_DATE 返回当前本地日期
CURRENT_TIME 返回当前本地时间
CURRENT_TIMESTAMP 返回当前本地日期与时间
CURRENT_GMTDATE 返回当前GMT日期
CURRENT_GMTTIME 返回当前GMT时间
CURRENT_GMTTIMESTAMP 返回当前GMT日期与时间
LOCAL_TIMEZONE 返回本地时区与GMT的时差

[color=orange]域操作函数[/color]
ESQL提供了9个域操作函数

ASBITSTREAM 将域类型转换成BLOB类型
BITSTREAM 将域所在的一级子树内容转换成BLOB类型
FIELDNAME 返回域名
FIELDNAMESPACE 返回域名空间
FIELDTYPE 返回域类型
FIELDVALUE 返回域值
FOR 检查是否所有或部分项满足条件
LASTMOVE 检查上次指针赋值是否成功
SAMEFIELD 检查两处域的地址是否相同

[color=orange]集合操作函数[/color]
ESQL提供4个集合操作函数:

CARDINALITY 返回集合大小
EXISTS 检查集合是否至少含有一个元素
SINGULAR 检查集合是否只含有一个元素
THE 返回集合中的第一个元素

[color=orange]复杂操作函数[/color]
ESQL提供了5个复杂操作函数:

CASE 根据参数值或参数条件返回对应的内容
CAST 类型转换
SELECT 针对数据库表或消息字段进行选择操作
ROW 形成单行数据
LIST 形成数组数据

[color=orange]数据库操作函数[/color]
ESQL提供了4种数据库操作函数:

SQLCODE 数据库操作返回码
SQLERRORTEXT 数据库操作返回字串
SQLNATIVEERROR 数据库操作错误码
SQLSTATE 数据库操作状态码

[color=orange]其他操作函数[/color]
ESQL提供了5种其他操作函数:

COALESCE 返回参数串的第一个非空值
NULLIF 参数相等返回NULL,否则返回第一个参数
PASSTHRU 将内容原封不动的提交并跳过Parser
UUIDASBLOB 返回BLOB类型的UUID
UUIDASCHAR 返回CHARACTER类型的UUID

WMB专题之ESQL相关推荐

  1. Linux并发与同步专题 (1)原子操作和内存屏障

    关键词:. <Linux并发与同步专题 (1)原子操作和内存屏障> <Linux并发与同步专题 (2)spinlock> <Linux并发与同步专题 (3) 信号量> ...

  2. Siebel Adapter在WMB上的应用

    IBM WebSphere Adapter for Siebel Business Applications 6.1 在WebSphere Message Broker上的应用 IBM WebSphe ...

  3. Linux内核进程管理专题报告

    一.引言 在Linux内核的五大组成部分(进程管理.内存管理.设备驱动.文件系统.网络协议)中,进程管理是非常重要的一部分,它虽然不像内存管理.虚拟文件系统那样复杂,也不像进程间通信那样条理化,但作为 ...

  4. Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务

    Microsoft .Net Remoting系列专题之二 一.远程对象的激活 在Remoting中有三种激活方式,一般的实现是通过RemotingServices类的静态方法来完成.工作过程事实上是 ...

  5. CS131专题-6:图像特征(Blob检测、LoG算子、Harris-Laplacian)

    本专题介绍的技术应用已不广,但是这些有利于理解SIFT算法的原理,也有助于感悟CV传统技术的发展变迁,以及解决问题的思路. 速记要点: blob是什么:blob是描述图像中局部区域的平均像素强度的特征 ...

  6. CS131专题-4:拟合(最小二乘、RANSAC、霍夫变换)

    本专题目的:了解最小二乘.RANSAC.霍夫变换这3个算法的基本原理,能够做到脱口而出,并从零编程实现. 目录 1 前言 2 最小二乘 2.1 基本原理 2.2 求解方法 3 RANSAC 算法 3. ...

  7. CS131专题-3:图像梯度、边缘检测(sobel、canny等)

    目录 1 前言 2 图像梯度 2.1 梯度公式的离散形式 2.2 图像的梯度表示 2.3 图像梯度的最简单计算方法 2.4 直接应用梯度找图像边缘的问题以及解决方案 3 边缘检测 3.1 好的边缘检测 ...

  8. CS131专题-2:高斯核、噪声、滤波

    目录 1 高斯核 1.1 一维定义 1.2 二维定义 1.2.1 应用高斯核的过程 1.2.2 不同σ值的高斯核情况 1.2.3 不同核宽度情况 1.2.4 高斯核(滤波)特性 1.2.5 使用高斯核 ...

  9. 图的算法专题——最小生成树

    概要: Prim算法 Kruskal算法 1.Prim算法 算法流程: (1)对图G(V,E)设置集合S来存放已被并入的顶点,然后执行n次(2)(3) (2)每次从未并入顶点集合中选择与集合S最近的一 ...

  10. [C#]网络编程系列专题二:HTTP协议详解

    转自:http://www.cnblogs.com/zhili/archive/2012/08/18/2634475.html 我们在用Asp.net技术开发Web应用程序后,当用户在浏览器输入一个网 ...

最新文章

  1. TurboMail荣获2010年度优秀电子邮件产品殊荣
  2. 正确修改MySQL最大连接数的三种好用方案
  3. pythonsuper_python中的super()是什么意思呢
  4. 如何使用SAP Gigya的登录服务和您的网站集成
  5. uml 继承_UML 完全解析和总结
  6. Python安装、使用MySQL数据库
  7. 好代码是管出来的——使用Git来管理源代码
  8. 三分法解决凸(凹)函数极值问题
  9. 大佬写的orm框架,mark一下稍后阅读
  10. php 许愿墙 阶段案例_文化墙制作要突出企业哪些重点?
  11. 转载:给自己一个警示
  12. 蓝桥杯 ADV-234 算法提高 字符串跳步
  13. 知识竞赛现场管理系统安装配置及使用疑难问题汇编
  14. Google Maps API 中的标注编程
  15. excel数据库_EXCEL数据库函数dcount、dcounta
  16. 【专题】我国银行系科技子公司比较研究
  17. 基于PHP和MySQL的奶茶网站,基于PHP和MySQL的网站设计与实现
  18. 2020德勤面试开始了吗_四大2020年春招时间曝光!
  19. 今晚没有iPhone 12?首发A14机型确定:意料不到
  20. 【dva】dva使用与实现(三)

热门文章

  1. 苹果电脑一直密码错误_您可能一直都在犯的安全和密码错误
  2. 锯齿波调制的FMCW雷达中频回波信号的公式推导
  3. 订单导出(淘宝天猫)
  4. JAVA实现PDF合并、拆分代码工具类
  5. 聚合广告SDK开发(一)——基础知识
  6. 【Microsoft Azure 的1024种玩法】六十三.通过全局 VNet 对等互连实现同一区域不同网段的虚拟网络实时打通
  7. ios ipa分析之 .dSYM 文件、.xcarchive 文件和 Link Map 文件的Mac版本分析工具:MKAppTool
  8. 五种线粒体呼吸链复合体研究工具
  9. [MATLAB]代数/常微分求解(solve/dsolve)
  10. 如何低格台式计算机的硬盘,低级格式化,教您硬盘如何进行低级格式化