Pattern matching operators
This page describes the available operators to assist with performing pattern
matching. For operators using regular expressions (regex
in the syntax), QuestDB uses
Java regular expression implementation.
#
~ (match) and !~ (does not match)(string) ~ (regex)
- returns true if thestring
value matches a regular expression,regex
, otherwise returns false (case sensitive match).(string) !~ (regex)
- returns true if thestring
value fails to match a regular expression,regex
, otherwise returns false (case sensitive match).
#
Argumentsstring
is an expression that evaluates to thestring
data type.regex
is any regular expression pattern.
#
Return valueReturn value type is boolean
.
#
LIKE/ILIKE(string) LIKE (pattern)
- returns true if thestring
value matchespattern
, otherwise returns false (case sensitive match).(string) ILIKE (pattern)
- returns true if thestring
value matchespattern
, otherwise returns false (case insensitive match).
#
Argumentsstring
is an expression that evaluates to thestring
data type.pattern
is a pattern which can contain wildcards like_
and%
.
#
Return valueReturn value type is boolean
.
#
DescriptionIf the pattern doesn't contain wildcards, then the pattern represents the string itself.
The wildcards which can be used in pattern are interpreted as follows:
_
- matches any single character.%
- matches any sequence of zero or more characters.
Wildcards can be used as follows:
ILIKE
performs a case insensitive match as follows:
#
Examples#
LIKEsymbol | side | price | amount | timestamp |
---|---|---|---|---|
ETH-USD | sell | 1348.13 | 3.22455108 | 2022-10-04T15:25:58.834362Z |
BTC-USD | sell | 20082.08 | 0.16591219 | 2022-10-04T15:25:59.742552Z |
#
ILIKEsymbol | side | price | amount | timestamp |
---|---|---|---|---|
ETH-USD | sell | 1348.13 | 3.22455108 | 2022-10-04T15:25:58.834362Z |
BTC-USD | sell | 20082.08 | 0.16591219 | 2022-10-04T15:25:59.742552Z |
#
regexp_replaceregexp_replace (string1, regex , string2 )
- provides substitution of new text
for substrings that match regular expression patterns.
#
Arguments:string1
is a sourcestring
value to be manipulated.regex
is a regular expression pattern.string2
is anystring
value to replace part or the whole of the source value.
#
Return valueReturn value type is string
. The source string is returned unchanged if there is no match to the pattern. If
there is a match, the source string is returned with the replacement string
substituted for the matching substring.