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
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