[/map {"- map/map "}) [/map/title {"- topic/title "}) Expressions (title][/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) Expressions (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) Expressions (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Expressions are typically combinations of one or more functions, attributes, constants, or operators.Most expressions are simple combinations of functions and attributes. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Supported data types (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Supported data types (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This topic describes the format of data types supported by EQL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Operator precedence rules (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Operator precedence rules (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL enforces the following precedence rules for operators. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Literals (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Literals (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This section discusses how literals are used in EQL. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Character handling (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Character handling (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL accepts all Unicode characters. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Handling of upper- and lower-case (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Handling of upper- and lower-case (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This topic discusses character case handling in EQL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Handling NULL attribute values (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Handling NULL attribute values (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) If an attribute value is missing for a record, then the attribute is referred to as being NULL.For example, if a record does not contain an assignment for a Price attribute, EQL defines the Price value as NULL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Type promotion (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Type promotion (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In general, EQL performs type promotion when there is no risk of loss of information. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Handling of NaN, inf, and -inf results (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Handling of NaN, inf, and -inf results (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Operations in EQL adhere to the conventions for Not a Number (NaN), inf, and -inf defined by the IEEE 7540 2008 standard for handling floating point numbers. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Functions and operators (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Functions and operators (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL contains a number of built-in functions that process data.It also supports arithmetic operators. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Numeric functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Numeric functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the following numeric functions. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Aggregation functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Aggregation functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the following aggregation functions. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Hierarchy functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Hierarchy functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports hierarchy functions on managed attributes. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Geocode functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Geocode functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The geocode data type contains the longitude and latitude values that represent a geocode property. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Date and time functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Date and time functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides functions for working with time, dateTime, and duration data types. (shortdesc] (topicmeta][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Manipulating current date and time (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Manipulating current date and time (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides four constant keywords to obtain current date and time values.Values are obtained at an arbitrary point during query evaluation. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Constructing date and time values (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Constructing date and time values (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides functions to construct a timestamp representing time, date, or duration using an expression. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Time zone manipulation (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Time zone manipulation (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides two functions to obtain the corresponding timestamp in different time zones. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using EXTRACT to extract a portion of a dateTime value (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using EXTRACT to extract a portion of a dateTime value (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The EXTRACT function extracts a portion of a dateTime value, such as the day of the week or month of the year.This can be useful in situations where the data must be filtered or grouped by a slice of its timestamps, for example to compute the total sales that occurred on any Monday. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using TRUNC to round down dateTime values (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using TRUNC to round down dateTime values (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The TRUNC function can be used to round a dateTime value down to a coarser granularity. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using arithmetic operations on date and time values (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using arithmetic operations on date and time values (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In addition to using the TRUNC and EXTRACT functions, you also can use normal arithmetic operations with date and time values. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) String functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) String functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the following string functions. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Arithmetic operators (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Arithmetic operators (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports arithmetic operators for addition, subtraction, multiplication, and division. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Boolean operators (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Boolean operators (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the Boolean operators AND, OR, and NOT. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using EQL results to compose follow-on queries (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using EQL results to compose follow-on queries (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) You can select a value in an EQL result and use it to compose a follow-on query. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using lookup expressions for inter-statement references (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using lookup expressions for inter-statement references (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In EQL, you can define statements and then refer to these statements from other statements. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) ARB (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) ARB (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) ARB selects an arbitrary but consistent value from the set of values in a field. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) BETWEEN (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) BETWEEN (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The BETWEEN expression determines whether an attribute's value falls within a range of values. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) COALESCE (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) COALESCE (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The COALESCE expression allows for user-specified NULL-handling.It is often used to fill in missing values in dirty data. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) CASE (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) CASE (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) CASE expressions allow conditional processing in EQL, allowing you to make decisions at query time. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) IN (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) IN (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) IN expressions perform a membership test. (shortdesc] (topicmeta] (topicref] (topicref] (map]