类型转换函数
TO_BOOL()
TO_BOOL(value) →bool
value(any): 任意类型输入参数
returnsbool(boolean):
null不能转换
Numbers可以转换,0为false
Strings非空为true,否则为false
Arrays非空为true,否则为false
Objects/documents通常转换为true
也可以使用双重否定进行转换
TO_NUMBER()
TO_NUMBER(value)→number
value(any): 任意类型输入参数
returnsnumber(number):
null和false转换为0
true转换为1
Numbers为其原始值
Strigngs 如果字符串包含数字的有效表示,则将字符串转换为数字等价。在字符串的开始和结束时允许空白。不包含任何有效数字表示的字符串值将被转换为数字0。
Array 空Array转换为0,包含多个元素的Array转换为0,包含一个元素的Array正常转换
Object/document转换为0
TO_STRING()
TO_STRING(value)→str
value(any): 任意类型输入参数
returnsstr(string):
null转换为空串
bool转换为 ‘false' 或'true'
Numbers转换为string形式,或者科学计数法
Arrays/objects/documents转换为json格式
TO_ARRAY()
TO_ARRAY(value)→array
value(any): 任意类型输入参数
returnsarray(array):
null转换为空array
boolean/numbers/strings转换为有一个元素的array
Arrays保持原样
Objects/documents 将属性值作为数组元素
TO_LIST()
TO_LIST(value)→array
TO_ARRAY()的别名。
类型检查
IS_NULL(value)→bool: 检查参数是否为null
IS_BOOL(value)→bool: 检查参数是否为boolean
IS_NUMBER(value)→bool: 检查参数是否为数值
IS_STRING(value)→bool: 检查参数是否是字符串
IS_ARRAY(value)→bool: 检查参数是否是array
IS_LIST(value)→bool: 检查参数是否是array
IS_OBJECT(value)→bool: 检查参数是否是 object/documentvalue
IS_DOCUMENT(value)→bool: IS_OBJECT的别名
IS_DATESTRING(value)→bool: 检查参数是否是一个日期字符串
字符串函数
CHAR_LENGTH()
CHAR_LENGTH(value)→length
String/Number/Array/Object 返回字符长度
true4
false5
null0
CONCAT()
CONCAT(value1,value2,...valueN)→str
values(any,repeatable): 至少一个任意类型数值
returnsstr(string): 数据的拼接.null将被忽略.
eg:CONCAT("foo","bar","baz")//"foobarbaz"
CONCAT(1,2,3)//"123"
CONCAT("foo",[5,6],{bar:"baz"}) //"foo[5,6]{\"bar\":\"baz\"}"
CONCAT_SEPARATOR()
CONCAT_SEPARATOR(separator,value1,value2,...valueN)→joinedString
separator(string):分隔符
values(string|array,repeatable): 需要拼接的参数
returnsjoinedString(string):拼接后的数据.
eg:CONCAT_SEPARATOR(",","foo","bar","baz") //"foo,bar,baz"
CONCAT_SEPARATOR(",",["foo","bar","baz"] ) //"foo,bar,baz"
CONTAINS()
CONTAINS(text,search,returnIndex)→match
text(string): 原始字符串
search(string): 查询的字符串
returnIndex(bool,optional):如果设置为true,将返回子串在字符串中第一次出现的位置
returnsmatch(bool|number):返回true,false 或者 number
eg:CONTAINS("foobarbaz","bar") //true
CONTAINS("foobarbaz","horse") //false
CONTAINS("foobarbaz","ba",true) //3
CONTAINS("foobarbaz","horse",true) // -1
查询一个元素在数组中的位置使用POSITION().
COUNT()为LENGTH()函数别名。
LENGTH()
LENGTH(str)→length
str(string):字符串,如果是number将先转换为字符串
returnslength(number):字符串长度
eg:LENGTH("foobar")//6
LENGTH("" )//4
LENGTH()也可以获取array元素个数,object的keys数量/collection中document的数量
FIND_FIRST()
FIND_FIRST(text,search,start,end)→position
Return字符串第一次出现的位置。
text(string): 源字符串
search(string): 查询的字符串
start(number,optional):开始查找的位置
end(number,optional):结束查找的位置
returnsposition(number):返回-1 或者是字符串出现的位置
eg:FIND_FIRST("foobarbaz","ba") //3
FIND_FIRST("foobarbaz","ba",4) //6
FIND_FIRST("foobarbaz","ba",0,3) //-1
FIND_LAST()
FIND_LAST(text,search,start,end)→position
Return返回最后一次出现search的位置
text(string): 源字符串
search(string): 查询的字符串
start(number,optional):开始查找的位置
end(number,optional):结束查找的位置
returnsposition(number):返回-1 或者是字符串出现的位置.
eg:FIND_LAST("foobarbaz","ba") //6
FIND_LAST("foobarbaz","ba",7) //-1
FIND_LAST("foobarbaz","ba",0,4)//3
JSON_PARSE()
JSON_PARSE(text)→value
text(string): 将转换为json的参数
returnsvalue(mixed):与给定的JSON文本对应的值。对于没有有效JSON字符串的输入值,函数将返回NULL。
eg:JSON_PARSE("123")//123
JSON_PARSE("[true,false,2]")//[true,false,2]
JSON_PARSE("\\\"abc\\\"")//"abc"
JSON_PARSE("{\\\"a\\\":1}")//{a:1}
JSON_PARSE("abc")//null
JSON_STRINGIFY()
JSON_STRINGIFY(value)→text
value(mixed):待转换为json字符串的参数
returnstext(string):返回json,对于没法转换的value将转换为null.
eg:JSON_STRINGIFY("1")//"1"
JSON_STRINGIFY("abc")//"\"abc\""
JSON_STRINGIFY("[1,2,3]")//"[1,2,3]"
LEFT()
LEFT(value,length)→substring
value(string):待截取的字符串
length(number):截取长度
returnssubstring(string): 返回满足条件的字符串
eg:LEFT("foobar",3)//"foo"
LEFT("foobar",10)//"foobar"
LIKE()
LIKE(text,search,caseInsensitive)→bool
text(string):源字符串
search(string):待匹配字符串,可以包含% _ 等进行正则匹配
caseInsensitive(bool,optional):true不区分大小写,默认为false
returnsbool(bool):匹配到为true,否则为false
eg:LIKE("cart","ca_t")//true
LIKE("carrot","ca_t")//false
LIKE("carrot","ca%t")//true
LIKE("foobarbaz","bar") //false
LIKE("foobarbaz","%bar%")//true
LIKE("bar","%bar%")//true
LIKE("FoObArBaZ","fOo%bAz") //false
LIKE("FoObArBaZ","fOo%bAz",true) //true
LOWER()
LOWER(value)→lowerCaseString
value(string): 待转换为小写的字符串参数
returnslowerCaseString(string): 返回字符串参数的小写形式
LTRIM()
LTRIM(value,chars)→strippedString
value(string):源字符串.
chars(string,optional):待移除的字符串.
returnsstrippedString(string):返回去掉左侧空格或满足chars的字符串
eg:LTRIM("foobar") //"foobar"
LTRIM("foobar")//"foobar"
LTRIM("--==[foo-bar]==--","-=[]") //"foo-bar]==--"
MD5()
MD5(text)→hash
text(string): 待加密字符串
returnshash(string):md5加密后的字符串
eg:MD5("foobar") //"3858f62230ac3c915f300c664312c63f"
RANDOM_TOKEN()
RANDOM_TOKEN(length)→randomString
length(number):随机字符串长度
returnsrandomString(string):返回一个随机的字符串
eg:RANDOM_TOKEN(8)//"zGl09z42"
RANDOM_TOKEN(8)//"m9w50Ft9"
REGEX_TEST()
REGEX_TEST(text,search,caseInsensitive)→bool
text(string): 源字符串
search(string):正则表达式
caseInsensitive: true不区分大小写
returnsbool(bool):true或false
eg:REGEX_TEST("thequickbrownfox","the.*fox")//true
REGEX_TEST("thequickbrownfox","^(a|the)\s+(quick|slow).*f.x$")//true
REGEX_TEST("the\nquick\nbrown\nfox","^the(\n[a-w]+)+\nfox$")//true
REGEX_REPLACE()
REGEX_REPLACE(text,search,replacement,caseInsensitive)→string
text(string):源字符串
search(string):正则表达式
replacement(string):替代的字符串
returnsstring(string): 返回替换后的字符串
eg:REGEX_REPLACE("thequickbrownfox","the.*fox","jumpedover")//jumpedover REGEX_REPLACE("thequickbrownfox","o","i")//thequickbriwnfix
REVERSE()
REVERSE(value)→reversedString
value(string):字符串参数
returnsreversedString(string): 字符顺序反转后的字符串
eg:REVERSE("foobar")//"raboof"
REVERSE("" )//""
RIGHT()
RIGHT(value,length)→substring
value(string):源字符串
length(number):截取长度
returnssubstring(string):满足条件的字符串
eg:RIGHT("foobar",3)//"bar"
RIGHT("foobar",10)//"foobar"
RTRIM()
RTRIM(value,chars)→strippedString
value(string):源字符串
chars(string,optional):待删除的字符串.
returnsstrippedString(string): 去掉chars后的字符串
eg:RTRIM("foobar")//"foobar"
RTRIM("foobar")//"foobar"
RTRIM("--==[foo-bar]==--","-=[]")//"--==[foo-bar"
SHA1()
SHA1(text)→hash
text(string): 字符串参数
returnshash(string):SHA1字符串
eg:SHA1("foobar")//"8843d7f92416211de9ebb963ff4ce28125932878
SPLIT()
SPLIT(value,separator,limit)→strArray
value(string):待拆分字符串
separator(string):拆分条件字符.
limit(number,optional):拆分个数
returnsstrArray(array):anarrayofstrings
eg:SPLIT("foo-bar-baz","-")//["foo","bar","baz"]
SPLIT("foo-bar-baz","-",1)//["foo","bar-baz"]
SPLIT("foo,bar&baz",[",","&"])//["foo","bar","baz"]
SUBSTITUTE() 替换匹配到的字符串
SUBSTITUTE(value,search,replace,limit)→substitutedString
value(string):源字符串
search(string|array):查找的字符串
replace(string|array,optional):替换查找的字符串
limit(number,optional):将替换数限制到此值
returnssubstitutedString(string):返回一个新的字符串
eg:SUBSTITUTE("thequickbrownfoxx","quick","lazy") //"thelazybrownfoxx"
SUBSTITUTE("thequickbrownfoxx",["quick","foxx"],["slow","dog"]) //"theslowbrowndog"
SUBSTITUTE("thequickbrownfoxx",["the","foxx"],["that","dog"],1) //"thatquickbrownfoxx"
SUBSTITUTE("thequickbrownfoxx",["the","quick","foxx"],["A","VOID!"]) //"AVOID!brown"
SUBSTITUTE("thequickbrownfoxx",["quick","foxx"],"xx") //"thexxbrownxx"
SUBSTRING()
SUBSTRING(value,offset,length)→substring
value(string):源字符串
offset(number):起始位置
length(number,optional):截取长度
returnssubstring(string):截取后的字符串
TRIM()
TRIM(value,type)→strippedString
value(string):源字符串
type(number,optional):0-去除两端的空格 1-去除左边的空格 2-去除右边的空格
TRIM(value,chars)→strippedString
value(string):源字符串
chars(string,optional):替换字符串
returnsstrippedString(string):返回替换后的字符串
eg:TRIM("foobar")//"foobar"
TRIM("foobar")//"foobar"
TRIM("--==[foo-bar]==--","-=[]")//"foo-bar"
TRIM("foobar\t\r\n")//"foobar"
TRIM(";foo;bar;baz,",",;")//"foo;bar;baz"
UPPER()
UPPER(value)→upperCaseString
value(string):源字符串
returnsupperCaseString(string): 转换为大写形式的字符串