Mindscript with Mind Expression
MindScript Container
We provide support for rendering code within a container environment.
To indicate code to be rendered, it should be enclosed within {{$
and }}
. For instance, if the response-template
field in a subject definition contains the following content:
If the sel
is applied to the most recent input from the user, which is the query '2022-09-09', it would result in the displayed text.
That means, we interpret sel dateFormat: 'MM/DD/YYYY'
as a MindScript code.
You can find the available MindScript classes and methods documentation for a container through the engine API at /public/v1/talk/documentation.
In addition to the engine API, this handbook provides documentation for all MindScript classes and methods.
Cheat sheet reference for SQL functions
SQL Function | MindScript method | Description | Example |
---|---|---|---|
ABS | abs | returns the absolute value of a number | ab := -243.2 abs. |
CAST | asInteger | to change the data type of a value into the other type. | '123' asIntger. |
asNumber | '12.2' asNumber. | ||
asString | 12 asString. | ||
REPLACE | replaceAll: with: | replace all occurrences of a string | ch := 'This is a string' replaceAll: 'is' with: 'was'. "ch = Thwas was a string" |
CHARINDEX | findString: | locate the beginning position of a substring in a string | position := 'This is a string' findString: 'is' |
findString: startingAt: | position := 'This is a string' findString: 'is' startingAt: 2. | ||
FORMAT | asCustomNumber: | formats a value with the specified format | 123456789 asCustomNumber: '##-##-#####'. "12-34-56789" |
LEFT | left: | extracts a number of characters from a string (from left) | str := 'abcdefg' left: 5. "str = abcde" |
RIGHT | right: | extracts a number of characters from a string (from right) | ri := 'abcdefg' right: 5. "ri = cdefg" |
LEN | size | returns the length of a string | length := 'W3Schools.com' size. "length = 13" |
LOWER | asLowercase | Convert the text to lower-case | lw := 'A string' asLowercase. "lw = a string" |
UPPER | asUppercase | Convert the text to upper-case | up := 'A string' asUppercase. "up = A STRING" |
LTRIM | trimLeft | Remove leading spaces from a string | tl := ' A string' trimLeft. "tl = A string" |
RTRIM | trimRight | Remove trailing spaces from a string | tr := 'A string' trimRight. "tr = A string" |
SUBSTRING | copyFrom: to: | extracts some characters from a string | substr := 'abcdefg' copyFrom: 1 to 5. "substr = abcde" |
FLOOR | floor | the largest integer value of a number | fl := 25.75 floor. "fl = 25" |
RAND | Random | a random number between 0 (inclusive) and 1 (exclusive) | ran := Random between: 0 and: 6. "ran >= 0 and: rand < 6" |
ROUND | asCustomNumber: | rounds a number to a specified number of decimal places | (234.414 asCustomNumber: '0.00') asNumber. "234.41" |
DATEDIFF | dateDiff: as: | find the difference between two dates | dy := '2017/08/25' dateDiff: '2019/08/25' as: #year. "dy = 2" |
DATEADD | dateAdd: as: format: | adds a time/date interval to a date and then returns the date | date := '2017/08/25' dateAdd: 2 as: #month format: 'YYYY/MM/DD'. "date = 2017/10/25" |
DATEPART | dateFormat: | a specified part of a date | yyyy := ('2017/08/25' dateFormat: 'YYYY') asInteger. "yyyy = 2017" |
DAY | dateFormat: | the day of the month (from 1 to 31) for a specified date | dd := ('2017/08/25' dateFormat: 'DD') asInteger. "dd = 25" |
MONTH | dateFormat: | the month part for a specified date (a number from 1 to 12) | mm := ('2017/08/25' dateFormat: 'MM') asInteger. "mm = 8" |
YEAR | dateFormat: | the year part for a specified date | yyyy := ('2017/08/25' dateFormat: 'YYYY') asInteger. "yyyy = 2017" |
GETDATE | dateFormat: | the current database system date and time | now := 'now' dateFormat: 'YYYY-MM-DD'. "now is a date string of now" |
Last updated