esProc 的 SQL 功能支持文件计算、性能优化等独特功能,本文将总结桌面 IDE、命令行等不同环境下 SQL 的用法,以及常用文件格式、特殊分隔符等多种应用方案,详情点击esProc 的 SQL 应用方案
因为支持文件计算、性能优化等独特功能,esProc的SQL功能深受大家喜爱,为了大家更方便地使用,下面将总结SQL的各类应用方案。
基本用法
SQL的基本数据源为文本文件和Excel。文本文件有两种常见的分隔符,制表符分隔的文件一般以txt为扩展名,逗号分隔的文件通常以csv为扩展名,esProc可凭借扩展名自动识别。Excel有两种不同的版本,格式较旧的xls文件和格式较新的xlsx文件,esProc同样可凭扩展名自动识别。
SQL的基本数据格式为带列名的二维表,比如下面的sales.txt:
OrderID Client SellerId Amount OrderDate 26 TAS 1 2142.4 2009-08-05 33 DSGC 1 613.2 2009-08-14 84 GC 1 88.5 2009-10-16 … |
SQL的基本运行环境为网格脚本,在windows/linux下均可使用。在网格脚本中,可以编写/维护/执行多个SQL,且点击不同的单元格可直接在右边查看计算结果。下面是一些例子:
具体SQL写法不是本文重点,若感兴趣可参考 [在文件上使用 SQL 查询的示例](http://c.raqsoft.com.cn/article/1600073770278)
在命令行执行SQL
不方便使用图形环境时,可以在命令行执行SQL。Windows下应使用esprocx.exe命令,例如:
esprocx.exe -r select * from Order.txt |
需要注意的是,SQL在 IDE中必须使用前导符号$,而命令行中可以省略该符号。
Linux环境下应使用esprocx.sh 命令,例如:
./esprocx.sh -r select * from Order.txt |
无列名的情况
有些文件没有列名(列标题),则可以将SPL语句嵌入SQL,利用SPL的能力灵活处理列名。比如sOrderNT.txt部分数据如下:
26 TAS 1 2142.4 2009-08-05 33 DSGC 1 613.2 2009-08-14 84 GC 1 88.5 2009-10-16 133 HU 1 1419.8 2 |