2023-01-18 06:00:21 +00:00
-- Tags: no-fasttest
2022-07-27 00:24:29 +00:00
DROP TABLE IF EXISTS Customers ;
CREATE TABLE Customers
(
FirstName Null able ( String ) ,
LastName String ,
Occupation String ,
Education String ,
Age Null able ( UInt8 )
) ENGINE = Memory ;
INSERT INTO Customers VALUES ( ' Theodore ' , ' Diaz ' , ' Skilled Manual ' , ' Bachelors ' , 28 ) , ( ' Stephanie ' , ' Cox ' , ' Management abcd defg ' , ' Bachelors ' , 33 ) , ( ' Peter ' , ' Nara ' , ' Skilled Manual ' , ' Graduate Degree ' , 26 ) , ( ' Latoya ' , ' Shen ' , ' Professional ' , ' Graduate Degree ' , 25 ) , ( ' Apple ' , ' ' , ' Skilled Manual ' , ' Bachelors ' , 28 ) , ( NULL , ' why ' , ' Professional ' , ' Partial College ' , 38 ) ;
2022-09-30 18:32:16 +00:00
-- datatable (Version:string) [
-- '1.2.3.4',
-- '1.2',
-- '1.2.3',
-- '1'
-- ]
2022-09-28 03:33:20 +00:00
DROP TABLE IF EXISTS Versions ;
CREATE TABLE Versions
(
Version String
) ENGINE = Memory ;
INSERT INTO Versions VALUES ( ' 1.2.3.4 ' ) , ( ' 1.2 ' ) , ( ' 1.2.3 ' ) , ( ' 1 ' ) ;
2022-07-27 00:24:29 +00:00
set dialect = ' kusto ' ;
print ' -- test String Functions -- ' ;
print ' -- Customers |where Education contains \ ' degree \ ' ' ;
Customers | where Education contains ' degree ' | order by LastName ;
print ' ' ;
print ' -- Customers |where Education !contains \ ' degree \ ' ' ;
Customers | where Education ! contains ' degree ' | order by LastName ;
print ' ' ;
print ' -- Customers |where Education contains \ ' Degree \ ' ' ;
Customers | where Education contains ' Degree ' | order by LastName ;
print ' ' ;
print ' -- Customers |where Education !contains \ ' Degree \ ' ' ;
Customers | where Education ! contains ' Degree ' | order by LastName ;
print ' ' ;
print ' -- Customers | where FirstName endswith \ ' RE \ ' ' ;
Customers | where FirstName endswith ' RE ' | order by LastName ;
print ' ' ;
print ' -- Customers | where ! FirstName endswith \ ' RE \ ' ' ;
Customers | where FirstName ! endswith ' RE ' | order by LastName ;
print ' ' ;
print ' --Customers | where FirstName endswith_cs \ ' re \ ' ' ;
Customers | where FirstName endswith_cs ' re ' | order by LastName ;
print ' ' ;
print ' -- Customers | where FirstName !endswith_cs \ ' re \ ' ' ;
Customers | where FirstName ! endswith_cs ' re ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation == \ ' Skilled Manual \ ' ' ;
Customers | where Occupation = = ' Skilled Manual ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation != \ ' Skilled Manual \ ' ' ;
Customers | where Occupation ! = ' Skilled Manual ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation has \ ' skilled \ ' ' ;
2023-04-05 05:06:32 +00:00
Customers | where Occupation has ' skilled ' | order by LastName ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- Customers | where Occupation !has \ ' skilled \ ' ' ;
2023-04-05 05:06:32 +00:00
Customers | where Occupation ! has ' skilled ' | order by LastName ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- Customers | where Occupation has \ ' Skilled \ ' ' ;
2023-04-05 05:06:32 +00:00
Customers | where Occupation has ' Skilled ' | order by LastName ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- Customers | where Occupation !has \ ' Skilled \ ' ' ;
2023-04-05 05:06:32 +00:00
Customers | where Occupation ! has ' Skilled ' | order by LastName ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- Customers | where Occupation hasprefix_cs \ ' Ab \ ' ' ;
Customers | where Occupation hasprefix_cs ' Ab ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation !hasprefix_cs \ ' Ab \ ' ' ;
Customers | where Occupation ! hasprefix_cs ' Ab ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation hasprefix_cs \ ' ab \ ' ' ;
Customers | where Occupation hasprefix_cs ' ab ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation !hasprefix_cs \ ' ab \ ' ' ;
Customers | where Occupation ! hasprefix_cs ' ab ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation hassuffix \ ' Ent \ ' ' ;
Customers | where Occupation hassuffix ' Ent ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation !hassuffix \ ' Ent \ ' ' ;
Customers | where Occupation ! hassuffix ' Ent ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation hassuffix \ ' ent \ ' ' ;
Customers | where Occupation hassuffix ' ent ' | order by LastName ;
print ' ' ;
print ' -- Customers | where Occupation hassuffix \ ' ent \ ' ' ;
Customers | where Occupation hassuffix ' ent ' | order by LastName ;
print ' ' ;
print ' -- Customers |where Education in (\ ' Bachelors \ ' ,\ ' High School \ ' ) ' ;
Customers | where Education in ( ' Bachelors ' , ' High School ' ) | order by LastName ;
print ' ' ;
print ' -- Customers | where Education !in (\ ' Bachelors \ ' ,\ ' High School \ ' ) ' ;
Customers | where Education ! in ( ' Bachelors ' , ' High School ' ) | order by LastName ;
print ' ' ;
print ' -- Customers | where FirstName matches regex \ ' P . * r \ ' ' ;
Customers | where FirstName matches regex ' P.*r ' | order by LastName ;
print ' ' ;
print ' -- Customers | where FirstName startswith \ ' pet \ ' ' ;
Customers | where FirstName startswith ' pet ' | order by LastName ;
print ' ' ;
print ' -- Customers | where FirstName !startswith \ ' pet \ ' ' ;
Customers | where FirstName ! startswith ' pet ' | order by LastName ;
print ' ' ;
print ' -- Customers | where FirstName startswith_cs \ ' pet \ ' ' ;
Customers | where FirstName startswith_cs ' pet ' | order by LastName ;
print ' ' ;
print ' -- Customers | where FirstName !startswith_cs \ ' pet \ ' ' ;
Customers | where FirstName ! startswith_cs ' pet ' | order by LastName ;
print ' ' ;
print ' -- Customers | where isempty(LastName) ' ;
Customers | where isempty ( LastName ) ;
print ' ' ;
print ' -- Customers | where isnotempty(LastName) ' ;
Customers | where isnotempty ( LastName ) ;
print ' ' ;
print ' -- Customers | where isnotnull(FirstName) ' ;
Customers | where isnotnull ( FirstName ) | order by LastName ;
print ' ' ;
print ' -- Customers | where isnull(FirstName) ' ;
Customers | where isnull ( FirstName ) | order by LastName ;
print ' ' ;
print ' -- Customers | project url_decode(\ ' https % 3 A % 2 F % 2 Fwww . test . com % 2 Fhello % 20 word \ ' ) | take 1 ' ;
Customers | project url_decode ( ' https%3A%2F%2Fwww.test.com%2Fhello%20word ' ) | take 1 ;
print ' ' ;
print ' -- Customers | project url_encode(\ ' https : / / www . test . com / hello word \ ' ) | take 1 ' ;
Customers | project url_encode ( ' https://www.test.com/hello word ' ) | take 1 ;
print ' ' ;
print ' -- Customers | project name_abbr = strcat(substring(FirstName,0,3), \ ' \ ' , substring(LastName,2)) ' ;
2022-10-10 05:44:38 +00:00
Customers | project name_abbr = strcat ( substring ( FirstName , 0 , 3 ) , ' ' , substring ( LastName , 2 ) ) | order by LastName ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- Customers | project name = strcat(FirstName, \ ' \ ' , LastName) ' ;
Customers | project name = strcat ( FirstName , ' ' , LastName ) | order by LastName ;
print ' ' ;
print ' -- Customers | project FirstName, strlen(FirstName) ' ;
Customers | project FirstName , strlen ( FirstName ) | order by LastName ;
print ' ' ;
print ' -- Customers | project strrep(FirstName,2,\ ' _ \ ' ) ' ;
Customers | project strrep ( FirstName , 2 , ' _ ' ) | order by LastName ;
print ' ' ;
print ' -- Customers | project toupper(FirstName) ' ;
Customers | project toupper ( FirstName ) | order by LastName ;
print ' ' ;
print ' -- Customers | project tolower(FirstName) ' ;
Customers | project tolower ( FirstName ) | order by LastName ;
print ' ' ;
print ' -- support subquery for in orerator (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/in-cs-operator) (subquery need to be wraped with bracket inside bracket); TODO: case-insensitive not supported yet ' ;
Customers | where Age in ( ( Customers | project Age | where Age < 30 ) ) | order by LastName ;
-- Customer | where LastName in~ ("diaz", "cox")
print ' ' ;
print ' -- has_all (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/has-all-operator); TODO: subquery not supported yet ' ;
2023-04-05 05:06:32 +00:00
Customers | where Occupation has_all ( ' manual ' , ' skilled ' ) | order by LastName ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- has_any (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/has-anyoperator); TODO: subquery not supported yet ' ;
2023-04-05 05:06:32 +00:00
Customers | where Occupation has_any ( ' Skilled ' , ' abcd ' ) ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- countof (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/countoffunction) ' ;
Customers | project countof ( ' The cat sat on the mat ' , ' at ' ) | take 1 ;
Customers | project countof ( ' The cat sat on the mat ' , ' at ' , ' normal ' ) | take 1 ;
Customers | project countof ( ' The cat sat on the mat ' , ' \\s.he ' , ' regex ' ) | take 1 ;
print ' ' ;
print ' -- extract ( https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/extractfunction) ' ;
2022-09-28 14:30:20 +00:00
print extract ( ' (\\b[A-Z]+\\b).+(\\b\\d+) ' , 0 , ' The price of PINEAPPLE ice cream is 20 ' ) ;
print extract ( ' (\\b[A-Z]+\\b).+(\\b\\d+) ' , 1 , ' The price of PINEAPPLE ice cream is 20 ' ) ;
print extract ( ' (\\b[A-Z]+\\b).+(\\b\\d+) ' , 2 , ' The price of PINEAPPLE ice cream is 20 ' ) ;
print extract ( ' (\\b[A-Z]+\\b).+(\\b\\d+) ' , 3 , ' The price of PINEAPPLE ice cream is 20 ' ) ;
print extract ( ' (\\b[A-Z]+\\b).+(\\b\\d+) ' , 2 , ' The price of PINEAPPLE ice cream is 20 ' , typeof ( real ) ) ;
print extract ( " x=([0-9.]+) " , 1 , " hello x=45.6|wo " , typeof ( bool ) ) ;
print extract ( " x=([0-9.]+) " , 1 , " hello x=45.6|wo " , typeof ( date ) ) ;
print extract ( " x=([0-9.]+) " , 1 , " hello x=45.6|wo " , typeof ( guid ) ) ;
print extract ( " x=([0-9.]+) " , 1 , " hello x=45.6|wo " , typeof ( int ) ) ;
print extract ( " x=([0-9.]+) " , 1 , " hello x=45.6|wo " , typeof ( long ) ) ;
print extract ( " x=([0-9.]+) " , 1 , " hello x=45.6|wo " , typeof ( real ) ) ;
print extract ( " x=([0-9.]+) " , 1 , " hello x=45.6|wo " , typeof ( decimal ) ) ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- extract_all (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/extractallfunction); TODO: captureGroups not supported yet ' ;
Customers | project extract_all ( ' (\\w)(\\w+)(\\w) ' , ' The price of PINEAPPLE ice cream is 20 ' ) | take 1 ;
print ' ' ;
2022-09-30 18:32:16 +00:00
print ' -- extract_json (https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/extractjsonfunction) ' ;
print extract_json ( ' ' , ' ' ) ; -- { serverError BAD_ARGUMENTS }
print extract_json ( ' a ' , ' ' ) ; -- { serverError BAD_ARGUMENTS }
print extract_json ( ' $.firstName ' , ' ' ) ;
print extract_json ( ' $.phoneNumbers[0].type ' , ' ' ) ;
print extractjson ( ' $.firstName ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' ) ;
print extract_json ( ' $.phoneNumbers[0].type ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' , typeof ( string ) ) ;
print extract_json ( ' $.phoneNumbers[0].type ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' , typeof ( int ) ) ;
print extract_json ( ' $.age ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' ) ;
print extract_json ( ' $.age ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' , typeof ( int ) ) ;
print extract_json ( ' $.age ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' , typeof ( long ) ) ;
-- print extract_json('$.age', '{"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]}', typeof(bool)); -> true
print extract_json ( ' $.age ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' , typeof ( double ) ) ;
print extract_json ( ' $.age ' , ' {"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]} ' , typeof ( guid ) ) ;
-- print extract_json('$.phoneNumbers', '{"firstName":"John","lastName":"doe","age":26,"address":{"streetAddress":"naist street","city":"Nara","postalCode":"630-0192"},"phoneNumbers":[{"type":"iPhone","number":"0123-4567-8888"},{"type":"home","number":"0123-4567-8910"}]}', typeof(dynamic)); we won't be able to handle this particular case for a while, because it should return a dictionary
print ' ' ;
2022-07-27 00:24:29 +00:00
print ' -- split (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/splitfunction) ' ;
Customers | project split ( ' aa_bb ' , ' _ ' ) | take 1 ;
Customers | project split ( ' aaa_bbb_ccc ' , ' _ ' , 1 ) | take 1 ;
Customers | project split ( ' ' , ' _ ' ) | take 1 ;
Customers | project split ( ' a__b ' , ' _ ' ) | take 1 ;
Customers | project split ( ' aabbcc ' , ' bb ' ) | take 1 ;
2022-10-05 18:39:31 +00:00
Customers | project split ( ' aabbcc ' , ' ' ) | take 1 ;
Customers | project split ( ' aaa_bbb_ccc ' , ' _ ' , - 1 ) | take 1 ;
Customers | project split ( ' aaa_bbb_ccc ' , ' _ ' , 10 ) | take 1 ;
2022-07-27 00:24:29 +00:00
print ' ' ;
print ' -- strcat_delim (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/strcat-delimfunction); TODO: only support string now. ' ;
Customers | project strcat_delim ( ' - ' , ' 1 ' , ' 2 ' , strcat ( ' A ' , ' b ' ) ) | take 1 ;
-- Customers | project strcat_delim('-', '1', '2', 'A' , 1s);
print ' ' ;
print ' -- indexof (https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/indexoffunction); TODO: length and occurrence not supported yet ' ;
Customers | project indexof ( ' abcdefg ' , ' cde ' ) | take 1 ;
Customers | project indexof ( ' abcdefg ' , ' cde ' , 2 ) | take 1 ;
Customers | project indexof ( ' abcdefg ' , ' cde ' , 6 ) | take 1 ;
2022-08-12 16:34:03 +00:00
print ' -- base64_encode_fromguid() ' ;
2022-11-24 20:53:21 +00:00
-- print base64_encode_fromguid(guid(null));
2022-09-26 14:43:15 +00:00
print base64_encode_fromguid ( guid ( ' ae3133f2-6e22-49ae-b06a-16e6a9b212eb ' ) ) ;
2022-11-24 20:53:21 +00:00
print base64_encode_fromguid ( dynamic ( null ) ) ; -- { serverError FUNCTION_THROW_IF_VALUE_IS_NON_ZERO }
print base64_encode_fromguid ( " abcd1231 " ) ; -- { serverError FUNCTION_THROW_IF_VALUE_IS_NON_ZERO }
2022-08-12 16:34:03 +00:00
print ' -- base64_decode_toarray() ' ;
2022-11-24 20:53:21 +00:00
print base64_decode_toarray ( ' ' ) ;
2022-08-12 16:34:03 +00:00
print base64_decode_toarray ( ' S3VzdG8= ' ) ;
print ' -- base64_decode_toguid() ' ;
2022-11-24 20:53:21 +00:00
print base64_decode_toguid ( " JpbpECu8dUy7Pv5gbeJXAA== " ) ;
2022-09-26 14:43:15 +00:00
print base64_decode_toguid ( base64_encode_fromguid ( guid ( ' ae3133f2-6e22-49ae-b06a-16e6a9b212eb ' ) ) ) = = guid ( ' ae3133f2-6e22-49ae-b06a-16e6a9b212eb ' ) ;
2022-11-24 20:53:21 +00:00
print ' -- base64_encode_tostring ' ;
print base64_encode_tostring ( ' ' ) ;
print base64_encode_tostring ( ' Kusto1 ' ) ;
print ' -- base64_decode_tostring ' ;
print base64_decode_tostring ( ' ' ) ;
print base64_decode_tostring ( ' S3VzdG8x ' ) ;
2022-08-12 16:34:03 +00:00
print ' -- parse_url() ' ;
print parse_url ( ' scheme://username:password@host:1234/this/is/a/path?k1=v1&k2=v2#fragment ' ) ;
print ' -- parse_urlquery() ' ;
print parse_urlquery ( ' k1=v1&k2=v2&k3=v3 ' ) ;
print ' -- strcmp() ' ;
print strcmp ( ' ABC ' , ' ABC ' ) , strcmp ( ' abc ' , ' ABC ' ) , strcmp ( ' ABC ' , ' abc ' ) , strcmp ( ' abcde ' , ' abc ' ) ;
2022-10-07 02:38:18 +00:00
print ' -- substring() ' ;
print substring ( " ABCD " , - 2 , 2 ) ;
2022-08-12 16:34:03 +00:00
print ' -- translate() ' ;
print translate ( ' krasp ' , ' otsku ' , ' spark ' ) , translate ( ' abc ' , ' ' , ' ab ' ) , translate ( ' abc ' , ' x ' , ' abc ' ) ;
print ' -- trim() ' ;
print trim ( " -- " , " --https://www.ibm.com-- " ) ;
2022-08-15 21:12:04 +00:00
print trim ( " [^\w]+ " , strcat ( " - " , " Te st " , " 1 " , " // $ " ) ) ;
2022-09-12 23:12:34 +00:00
print trim ( " " , " asd " ) ;
print trim ( " a$ " , " asd " ) ;
print trim ( " ^a " , " asd " ) ;
2022-08-12 16:34:03 +00:00
print ' -- trim_start() ' ;
print trim_start ( " https:// " , " https://www.ibm.com " ) ;
print trim_start ( " [^\w]+ " , strcat ( " - " , " Te st " , " 1 " , " // $ " ) ) ;
2022-09-12 23:12:34 +00:00
print trim_start ( " asd$ " , " asdw " ) ;
print trim_start ( " asd$ " , " asd " ) ;
print trim_start ( " d$ " , " asd " ) ;
2022-08-12 16:34:03 +00:00
print ' -- trim_end() ' ;
print trim_end ( " ://www.ibm.com " , " https://www.ibm.com " ) ;
2022-08-15 21:12:04 +00:00
print trim_end ( " [^\w]+ " , strcat ( " - " , " Te st " , " 1 " , " // $ " ) ) ;
2022-09-12 23:12:34 +00:00
print trim_end ( " ^asd " , " wasd " ) ;
print trim_end ( " ^asd " , " asd " ) ;
print trim_end ( " ^a " , " asd " ) ;
2022-09-16 15:42:04 +00:00
print ' -- trim, trim_start, trim_end all at once ' ;
print str = " --https://bing.com-- " , pattern = ' -- ' | extend start = trim_start ( pattern , str ) , end = trim_end ( pattern , str ) , both = trim ( pattern , str ) ;
2022-08-12 16:34:03 +00:00
print ' -- replace_regex ' ;
print replace_regex ( strcat ( ' Number is ' , ' 1 ' ) , ' is (\d+) ' , ' was: \1 ' ) ;
print ' -- has_any_index() ' ;
print has_any_index ( ' this is an example ' , dynamic ( [ ' this ' , ' example ' ] ) ) , has_any_index ( " this is an example " , dynamic ( [ ' not ' , ' example ' ] ) ) , has_any_index ( " this is an example " , dynamic ( [ ' not ' , ' found ' ] ) ) , has_any_index ( " this is an example " , dynamic ( [ ] ) ) ;
2022-09-28 03:33:20 +00:00
print ' -- parse_version() ' ;
2022-09-30 18:32:16 +00:00
print parse_version ( 42 ) ; -- { serverError ILLEGAL_TYPE_OF_ARGUMENT }
-- print parse_version(''); -> NULL
2022-09-28 03:33:20 +00:00
print parse_version ( ' 1.2.3.40 ' ) ;
print parse_version ( ' 1.2 ' ) ;
2022-09-30 18:32:16 +00:00
print parse_version ( strcat ( ' 1. ' , ' 2 ' ) ) ;
2022-10-03 13:15:12 +00:00
print parse_version ( ' 1.2.4.5.6 ' ) ;
print parse_version ( ' moo ' ) ;
print parse_version ( ' moo.boo.foo ' ) ;
print parse_version ( strcat_delim ( ' . ' , ' moo ' , ' boo ' , ' foo ' ) ) ;
2022-09-30 18:32:16 +00:00
Versions | project parse_version ( Version ) ;
2022-09-28 03:33:20 +00:00
print ' -- parse_json() ' ;
2022-09-30 18:32:16 +00:00
print parse_json ( dynamic ( [ 1 , 2 , 3 ] ) ) ;
print parse_json ( ' {"a":123.5, "b":"{\\"c\\":456}"} ' ) ;
2022-09-28 03:33:20 +00:00
print ' -- parse_command_line() ' ;
2022-09-30 18:32:16 +00:00
print parse_command_line ( 55 , ' windows ' ) ; -- { serverError ILLEGAL_TYPE_OF_ARGUMENT }
-- print parse_command_line((52 + 3) * 4 % 2, 'windows'); -- { serverError ILLEGAL_TYPE_OF_ARGUMENT }
2022-10-03 13:15:12 +00:00
print parse_command_line ( ' ' , ' windows ' ) ;
print parse_command_line ( strrep ( ' ' , 6 ) , ' windows ' ) ;
2022-09-30 18:32:16 +00:00
-- print parse_command_line('echo \"hello world!\" print$?', 'windows'); -> ["echo","hello world!","print$?"]
-- print parse_command_line("yolo swag 'asd bcd' \"moo moo \"", 'windows'); -> ["yolo","swag","'asd","bcd'","moo moo "]
-- print parse_command_line(strcat_delim(' ', "yolo", "swag", "\'asd bcd\'", "\"moo moo \""), 'windows'); -> ["yolo","swag","'asd","bcd'","moo moo "]
2022-09-28 03:33:20 +00:00
print ' -- reverse() ' ;
2022-09-30 18:32:16 +00:00
print reverse ( 123 ) ;
2022-09-28 03:33:20 +00:00
print reverse ( 123 . 34 ) ;
2022-09-30 18:32:16 +00:00
print reverse ( ' ' ) ;
print reverse ( " asd " ) ;
print reverse ( dynamic ( [ ] ) ) ;
print reverse ( dynamic ( [ 1 , 2 , 3 ] ) ) ;
print reverse ( dynamic ( [ ' Darth ' , " Vader " ] ) ) ;
print reverse ( datetime ( 2017 - 10 - 15 12 : 00 ) ) ;
-- print reverse(timespan(3h)); -> 00:00:30
Customers | where Education contains ' degree ' | order by reverse ( FirstName ) ;
2022-09-28 03:33:20 +00:00
print ' -- parse_csv() ' ;
2022-10-03 19:11:03 +00:00
print parse_csv ( ' ' ) ;
2022-09-30 18:32:16 +00:00
print parse_csv ( 65 ) ; -- { serverError ILLEGAL_TYPE_OF_ARGUMENT }
print parse_csv ( ' aaa ' ) ;
2022-09-28 03:33:20 +00:00
print result = parse_csv ( ' aa,b,cc ' ) ;
print result_multi_record = parse_csv ( ' record1,a,b,c\nrecord2,x,y,z ' ) ;
2022-09-30 18:32:16 +00:00
-- print result=parse_csv('aa,"b,b,b",cc,"Escaping quotes: ""Title""","line1\nline2"'); -> ["aa","b,b,b","cc","Escaping quotes: \"Title\"","line1\nline2"]
-- print parse_csv(strcat(strcat_delim(',', 'aa', '"b,b,b"', 'cc', '"Escaping quotes: ""Title"""', '"line1\nline2"'), '\r\n', strcat_delim(',', 'asd', 'qcf'))); -> ["aa","b,b,b","cc","Escaping quotes: \"Title\"","line1\nline2"]