前言 在数据处理中想必大家或多或少都了解和使用过SQL Where子句,通常在ARCGIS中我们使用Where子句是为了方便快捷地查询到想要的数据,在FME中我们同样可以使用Where子句来读取想要的数据。 通常FME读取空间数据时是将源数据所有要素读取到工作空间中,但有时我们并不需要读取全部要素,这时我们可以通过空间和属性两方面控制读取的要素,空间上一般是是通过与指定范围相交(包含、相离等)进行控制,而属性方面则可以通过where子句来进行控制。
WHERE 子句中的运算符 运算符 | 描述 | = | 等于 | <> | 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != | > | 大于 | < | 小于 | >= | 大于等于 | <= | 小于等于 | BETWEEN | 在某个范围内 | LIKE | 搜索某种模式 | IN | 指定针对某个列的多个可能值 | is null | 空值判断 | And | 同时满足两个条件的值 | Or | 满足其中一个条件的值 | Not | 满足不包含该条件的值 | () | |
示例 如下图,我有一个含”GB””NAME”属性字段的MDB数据,现在我只想读取GB值以”44”开头并且NAME值不为空的要素。 
FME读取数据的两种方式:读模块、FeatureReader,参数界面可能稍有差异,但是where子句的使用方式都是一样的。
读模块参数界面 
FeatureReader参数界面 
首先是GB值以”44”开头,那么我们可以使用”LIKE”语句,”GB LIKE '44*'”, 其次是NAME值不为空,”NAME IS NOTNULL” 最后把这两个分句合并到一起形成最终的where子句,” GB LIKE '44*' AND NAME IS NOT NULL” 如果还有其他附加条件可以在当前语句后继续增加,直到筛选出想要的数据。
本文转载来自CSDN作者:fmechina 版权归作者所有 原文链接:https://blog.csdn.net/fmechina/a ... 1001.2014.3001.5501
|