[{"id":"840f0737-df1d-47ae-bb0a-359b01fe0608","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"d5d9cdef-8854-4505-89be-a2bbc3cb4482","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"3dc3dd55-35b0-4d23-bf62-47bc3650e4ee","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"80d84fbc-d0f8-4e4a-947f-e3e4de9b49b2","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"9152b7ca-0186-4fe3-a26f-5a05f322db07","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]}]
原生SQL查询是指某类型数据源能够接受的文本形式的查询语句,例如使用Oracle数据源时应使用符合Oracle查询语法的查询语句。
如果您的数据源是Excel, Csv, Json, Xml, MongoDB, OData,由于这些数据源原生的查询语法标准和标准SQL语法相差较大,Wyn为您提供了WynSql语言进行查询。
WynSql是为查询Excel, Csv, Json, Xml, MongoDB, OData数据源提供的SQL查询语言。
WynSql基本模拟了SQLite语法标准但有以下限制:
只能使用SELECT语句。
GroupBy子句中不能使用表达式,只能使用列引用。
OrderBy子句中不能使用表达式,只能使用列引用。
不能使用任何SQLite的内置函数,Wyn提供了自己的函数库。
type=info
使用SELECT 语句时可以添加Limit 子句限制返回的行数,例如select * from Demo_订单明细 limit 5。
注意
如果一个函数需要一个枚举值作为参数,请直接使用枚举值的字面值,不需要使用单/双引号。
例如StrLike(column1,'start%', Text)
函数 | 类型 | 语法 | 说明 |
---|---|---|---|
Abs | 数学 | Abs(number) | 获取指定数值(number)的绝对值. |
Acos | 数学 | Acos(number) | 获取余弦值为指定数值(number)的角度(以弧度为单位)。 |
Asin | 数学 | Asin(number) | 获取正弦值为指定数值(number)的角度(以弧度为单位)。 |
Atan | 数学 | Atan(number) | 获取切线为指定数值(number)的角度(以弧度为单位)。 |
Atn2 | 数学 | Atn2(y, x) | 获取其切线为指定数值(x和y)的商的角度(以弧度为单位)。 |
Ceiling | 数学 | Ceiling(number) | 获取大于或等于指定数值(number)的最小整数。 |
Cos | 数学 | Cos(number) | 获取指定角度的余弦值。 |
Cot | 数学 | Cot(number) | 获取指定角度的三角余切值的角度(以弧度为单位)。 |
Degrees | 数学 | Degrees(radians) | 获取以弧度指定的角度(radians)的角度(以度为单位)。 |
Exp | 数学 | Exp(number) | 获取e的指定数值(number)的幂次方。 |
Floor | 数学 | Floor(number) | 获取小于或等于指定十进制数(number)的最大整数。 |
Log | 数学 | Log(number) | 获取(以e或指定数值newBase)为基数,指定数值(number)的自然对数。 |
Log10 | 数学 | Log10(number) | 获取以10为基数,指定数值(number)的自然对数。 |
PI | 数学 | PI() | 获取表示圆的圆周与其直径的比率,由常数π指定。 |
Power | 数学 | Power(x, y) | 获取指定数数值(x)的指定数值(y)的幂次方。 |
Radians | 数学 | Radians(degrees) | 获取以度为指定数值表达式(degress)的数值(以弧度为单位)。 |
Rand | 数学 | Rand() Rand(maxValue) | 获取指定范围内的随机整数, 或者获取一个大于等于0.0且小于1.0的随机浮点数。 |
Round | 数学 | Round(number) Round(number, digits) | 获取将舍入为最接近的整数或指定的小数位数. 可用的MidpointRounding枚举值: ToEven, AwayFromZero。 |
Sign | 数学 | Sign(number) | 获取一个数值符号(number)的整数。 -1:值小于零。 0:值等于零。 1:值大于零。 |
Sin | 数学 | Sin(number) | 获取指定角度(number)的正弦值。 |
Sqrt | 数学 | Sqrt(number) | 获取指定数值(number)的平方根。 |
Square | 数学 | Square(number) | 获取指定数值(number)的平方。 |
Tan | 数学 | Tan(number) | 获取指定角度(number)的正切值。 |
DateAdd | 日期时间 | DateAdd(EDatePart ddatepart, number, dateTime) | 获取将指定数值(number)作为有符号整数值添加到输入日期值(dateTime)的指定日期部分所产生的日期时间值.。可用的EDatePart枚举值: Year, yyyy, yy, Quarter, qq, q, Month, mm, m, DayOfYear, dy, y Day, dd, d, WeekDay, dw, Week, ww, wk, Hour, hh, Minute, mi, n, Second, ss, s, MilliSecond, ms |
DateDiff | 日期时间 | DateDiff(EDatePart datepart, dateTime1, dateTime2) | 获取指定日期(dateTime1)和(dateTime2)之间指定时间间隔(datepart)的数值(作为有符号整数值)、可用的EDatePart枚举值: Year, yyyy, yy, Quarter, qq, q, Month, mm, m, DayOfYear, dy, y Day, dd, d, WeekDay, dw, Week, ww, wk, Hour, hh, Minute, mi, n, Second, ss, s, MilliSecond, ms |
DateFromParts | 日期时间 | DateFromParts(year, month, day) | 获取指定年(year),月(month)和日(day)的日期值。 |
DatePart | 日期时间 | DatePart(EDatePart datepart, dateTime) | 获取指定日期(dateTime)的datepart的整数. 可用的EDatePart枚举值: Year, yyyy, yy, Quarter, qq, q, Month, mm, m, DayOfYear, dy, y Day, dd, d, WeekDay, dw, Week, ww, wk, Hour, hh, Minute, mi, n, Second, ss, s, MilliSecond, ms |
EOMonth | 日期时间 | EOMonth(dateTime, [int addMonth = 0]) | 获取包含具有可选偏移量的指定日期(dateTime)的月份的最后一天。 |
GetDate | 日期时间 | GetDate() | 获取当前系统时间戳,作为没有时区偏移的日期时间值。 |
GetUtcDate | 日期时间 | GetUTCDate() | 获取当前系统时间戳,作为UTC日期时间值而没有时区偏移量。 |
Concat | 文本 | Concat([string1,string2...]) | 获取给定字符串(string1,string2...)连接在一起生成的字符串。 |
Format | 文本 | Format(value, format) | 获取用指定格式(format)将指定值(value)格式化生成的字符串。 |
IndexOf | 文本 | IndexOf(value, search) | 获取从开头或指定位置(startIndex)开始,获取给定字符串(value)中子字符串(search)的位置。 |
IsNull | 文本 | IsNull(value) | 检查给定值(value)是否为null或DBNull;或者,如果指定值(value1)为null或DBNull,则获取备用值(value2)。 |
Left | 文本 | Left(value, length) | 获得从给定的字符串(value)中获取长度为(lengh)的子字符串(从左开始)。 |
Len | 文本 | Len(value) | 获取给定字符串(value)的长度。 |
Lower | 文本 | Lower(value) | 获取将给定字符串(value)中的所有字符转换为小写生成的字符串。 |
LTrim | 文本 | LTrim(value) | 获取从给定字符串(value)中删除所有前导空格生成的字符串。 |
Replace | 文本 | Replace(value, pattern, replacement) | 获取用字符(replacement)替换给定字符串(value)中的字符序列(pattern)生成的字符串。 |
Replicate | 文本 | Replicate(value, times) | 获取重复给定的字符串(value)指定的次数(times)生成的字符串。 |
Reverse | 文本 | REverse(value) | 获取反转给定字符串(value)生成的字符串。 |
Right | 文本 | Right(value, length) | 获得从给定的字符串(value)中获取长度为(lengh)的子字符串(从右开始)。 |
RTrim | 文本 | RTrim(value) | 获取从给定字符串(value)中删除所有尾随空格生成的字符串。 |
SubString | 文本 | SubString(value, startIndex, length) | 获取给定字符串(value)中从指定数值(startIndex)开始,提取长度为指定数值(length)子字符串。 |
ToString | 文本 | ToString(value) | 获取给定对象(value)的字符串。 |
Trim | 文本 | Trim(value) | 获取从给定字符串(value)中删除所有前导和尾随空格生成的字符串。 |
Upper | 文本 | Upper(value) | 获取将给定字符串(value)中的所有字符转换为大写字母生成的字符串。 |
Array | 混合 | Array([object1,object2...]) | 获取给定对象(object1,object2...)创建的数组。 |
Category | 混合 | Category(value, RangeOption rangeOption, OutsideRangeOption outsideRangeOption, min, max, step) | 获取表示指定值所在范围的文本。 可用的RangeOption枚举值:IncludeLeft_ExcludeRight, ExcludeLeft_IncludeRight.可用的OutsideRangeOption枚举值:None, LessThanMin, GreaterThanMax, All |
CustomCategory | 混合 | CustomCategory(value, RangeOption rangeOption, [categoryDefinition1, categoryDefinition2...]) | 获取一个文本,表示指定值所在的范围。可用的RangeOption枚举值:IncludeLeft_ExcludeRight, ExcludeLeft_IncludeRight。 |
FiscalYear | 混合 | FiscalYear(dateTime, startMonthOfFiscalYear) | 获取指定日期(dateTime)的财政年度。 |
Asc | 文本 | Asc(string) | 获取与字符对应的字符代码的Integer值。 |
AscW | 文本 | AscW(string) | 获取与Unicode字符对应的字符代码的Integer值。 |
Chr | 文本 | Chr(CharCode) | 获取与指定字符代码关联的字符。 |
ChrW | 文本 | ChrW(CharCode) | 获取与指定字符代码关联的Unicode字符。 |
Filter | 文本 | Filter([source1,source2...], Match, [bool Include = True], [CompareMethod Compare = Binary]) | 获取基于零的数组,该数组包含基于指定过滤条件的string数组的子集。可用的CompareMethod枚举值: Binary, Text。 |
FormatCurrency | 文本 | FormatCurrency(expression, [int NumDigitsAfterDecimal = -1], [TriState IncludeLeadingDigit = UseDefault], [TriState UseParensForNegativeNumbers = UseDefault], [TriState GroupDigits = UseDefault]) | 使用系统控制面板中定义的货币符号,获取格式为货币值的表达式。可用的TriState枚举值:True, False, UseDefault。 |
FormatDateTime | 文本 | FormatDateTime(expression, [DateFormat NamedFormat = GeneralDate]) | 获取表示日期/时间值的字符串表达式。可用的DateFormat枚举值:GeneralDate, LongDate, ShortDate, LongTime, ShortTime。 |
FormatNumber | 文本 | FormatNumber(expression, [int NumDigitsAfterDecimal = -1], [TriState IncludeLeadingDigit = UseDefault], [TriState UseParensForNegativeNumbers = UseDefault], [TriState GroupDigits = UseDefault]) | 获取格式为数值的表达式。可用的TriState枚举值:True, False, UseDefault。 |
FormatPercent | 文本 | FormatPercent(expression, numDigitsAfterDecimal = -1, TriState includeLeadingDigit = UseDefault, TriState useParensForNegativeNumbers = UseDefault, TriState groupDigits = TriState.UseDefault) | 获取格式为百分比(即乘以100)的表达式,其尾部为%字符。可用的TriState枚举值:True, False, UseDefault。 |
GetChar | 文本 | GetChar(str, Index) | 获取表示所提供字符串(str)中指定索引(Index)的字符。 |
InStr | 文本 | InStr(string1, string2, [CompareMethod Compare = Binary]) | 获取给定字符串string2)在字符串(string1)中第一次出现的起始位置。可用的CompareMethod枚举值: Binary, Text。 |
InStrRev | 文本 | InStrRev(stringCheck, stringMatch, [int start = -1], [CompareMethod compare = Binary]) | 获取第一次出现的字符串(stringCheck)在字符串(stringMatch)中的位置(从字符串的右侧开始)。可用的CompareMethod枚举值:Binary, Text. |
Join | 文本 | Join([source1,source2...], [string delimiter = " "]) | 获取通过连接数组中包含的多个子字符串(source1,source2...)创建的字符串。 |
LCase | 文本 | LCase(value) | 获取将给定字符串(value)转换为小写的字符串或字符。 |
LSet | 文本 | LSet(str, length) | 获取包含调整为指定长度(length)的字符串(str)左对齐的字符串。 |
Mid | 文本 | Mid(str, start) | 获取包含指定字符串(str)中从指定数值(start)开始,获取指定数量(length)字符的字符串。 |
RSet | 文本 | RSet(str, length) | 获取包含调整为指定长度(length)的字符串(str)的右对齐的字符串。 |
Space | 文本 | Space(number) | 获取由指定数量(number)的空格组成的字符串。 |
Split | 文本 | Split(str, [string delimiter = " "], [int limit = -1], [CompareMethod compare = Binary]) | 获取包含指定数量子字符串的从零开始的一维数组。 |
StrComp | 文本 | StrComp(string1, string2, [CompareMethod compare = Binary]) | 获取根据字符串比较的结果,返回-1,0或1。 |
StrDup | 文本 | StrDup(number, character) | 获取由指定字符(character)重复指定次数(number)组成的字符串或对象。 |
StrReverse | 文本 | StrReverse(str) | 获得将给定字符串(str)的字符顺序颠倒过来生成的字符串。 |
UCase | 文本 | UCase(str) | 获取将指定字符串(str)转换为大写的字符串或字符。 |
StrLike | 文本 | StrLike(str, pattern, CompareMethod compareOption) | 比较参数(str)和(pattern)并返回与Like运算符相同的结果。可用的CompareMethod枚举值: Binary, Text。 |
StrLikeText | 文本 | StrLikeText(str, Pattern) | 使用文本比较参数(str)和(pattern)并返回与Like运算符相同的结果。 |
StrLikeBinary | 文本 | StrLikeBinary(str, Pattern) | 使用二进制比较参数(str)和(pattern)并返回与Like运算符相同的结果。 |
DateSerial | 日期时间 | DateSerial(year, month, day) | 获取表示指定年(year)、月(month)和日(day)的日期值。 |
DateString | 日期时间 | DateString() | 根据您的系统返回表示当前日期的字符串。 |
DateValue | 日期时间 | DateValue(stringDate) | 获取包含字符串表示的日期信息的Date值,时间信息设置为凌晨(00:00:00)。 |
Day | 日期时间 | Day(dateValue) | 获取1到31之间的Integer值,表示该月的某天。 |
Hour | 日期时间 | Hour(timeValue) | 获取0到23之间的整数值,表示一天中的小时。 |
Minute | 日期时间 | Minute(timeValue) | 获取0到59之间的整数值,表示小时的分钟。 |
Month | 日期时间 | Month(dateValue) | 获取1到12之间的整数值,表示一年中的月份。 |
MonthName | 日期时间 | MonthName(month, [bool abbreviate = false]) | 获取包含指定月份month名称的字符串。 |
Now | 日期时间 | Now() | 根据您的系统返回包含当前日期和时间的日期值。 |
Second | 日期时间 | Second(timeValue) | 获取0到59之间的整数值,表示分钟的秒。 |
TimeOfDay | 日期时间 | TimeOfDay() | 根据您的系统返回或设置包含当前时间的日期值。 |
Timer | 日期时间 | Timer() | 获取自凌晨起经过的秒数。 |
TimeSerial | 日期时间 | TimeSerial(hour, minute, second) | 获取表示指定小时,分钟和秒的Date值,其中日期信息设置为相对于1年的1月1日。 |
TimeString | 日期时间 | TimeString() | 根据您的系统返回或设置表示当前时间的字符串。 |
TimeValue | 日期时间 | TimeValue(stringTime) | 获取包含字符串表示的时间信息的Date值,日期信息设置为1年1月1日。 |
Today | 日期时间 | Today() | 根据您的系统返回或设置包含当前日期的日期值。 |
Weekday | 日期时间 | Weekday(dateValue, [FirstDayOfWeek dayOfWeek = Sunday]) | 获取表示星期几的数值。可用的FirstDayOfWeek枚举值: System, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. |
WeekdayName | 日期时间 | WeekdayName(weekday, [bool abbreviate = false], [FirstDayOfWeek firstDayOfWeekValue = System]) | 获取包含指定工作日名称的字符串。可用的FirstDayOfWeek枚举值:System, Sunday, Monday,Tuesday, Wednesday, Thursday, Friday, Saturday. |
Year | 日期时间 | Year(dateValue) | 获取表示年份的1到9999之间的数值。 |
CBool | 类型转换 | CBool(value) | 将给定值(value)转换为'bool'类型。 |
CByte | 类型转换 | CByte(value) | 将给定值(value)转换为'byte'类型。 |
CChar | 类型转换 | CChar(value) | 将给定值(value)转换为'char'类型。 |
CDate | 类型转换 | CDate(value) | 将给定值(value)转换为'DateTime'类型。 |
CDbl | 类型转换 | CDbl(value) | 将给定值(value)转换为'double'类型。 |
CDec | 类型转换 | CDec(value) | 将给定值(value)转换为'decimal'类型。 |
CInt | 类型转换 | CInt(value) | 将给定值(value)转换为'int'类型。 |
CLng | 类型转换 | CLng(value) | 将给定值(value)转换为'long'类型。 |
CShort | 类型转换 | CShort(value) | 将给定值(value)转换为'short'类型。 |
CSng | 类型转换 | CSng(value) | 将给定值(value)转换为'float'类型。 |
CStr | 类型转换 | CStr(value) | 将给定值(value)转换为'string'类型。 |
Fix | 类型转换 | Fix(number) | 获取指定数值(number)的整数部分。Fix函数和Int函数的区别:Fix函数转换-8.4到-8,Int函数转换-8.4到-9。 |
Hex | 类型转换 | Hex(number) | 获取指定数值(number)的十六进制值的字符串。 |
Int | 类型转换 | Int(number) | 获取指定数值(number)的整数部分。Int和Fix之间的差异:Int将-8.4转换为-9,Fix将-8.4转换为-8。 |
Oct | 类型转换 | Oct(number) | 获取指定数值(number)的八进制值的字符串。 |
Str | 类型转换 | Str(number) | 获取指定数字(number)的字符串表示形式。始终为数字符号保留前导空格。 |
Val | 类型转换 | Val(expression) | 获取字符串中包含的数字作为适当类型的数值。 |
Rnd | 数学 | Rnd() | 获取Single类型的随机数。 |
Choose | 流程 | Choose(Index, [choice1,choice2...]) | 根据index的值从选择列表中返回一个值。如果index为1,则选择返回列表中的第一个选项;如果index为2,则返回第二个选择,依此类推。语法: Choose(index, choice-1 [, choice-2, ... [, choice-n ]] ) |
IIF | 流程 | IIF(expression, TruePart, FalsePart) | 获取两个对象中的一个,如果表达式的计算结果为真,则选择返回(TruePart);否则返回(FalsePart)。 |
Switch | 流程 | Switch([varExpr1,varExpr2...]) | 计算表达式列表并返回与列表中第一个表达式相关联的值或表达式,该值为True。语法: Switch(expr-1, value-1 [ ,expr-2,value-2… [ ,expr-n,value-n ]] ) |
Partition | 流程 | Partition(Number, Start, Stop, Interval) | 获取指示在计算的一系列范围内出现数字的位置。您可以创建一个选择查询,显示有多少订单落在各种范围内。例如,订单值从1到1000,1001到2000,依此类推。 |
IsArray | 检测 | IsArray(exp) | 获取一个布尔值,指示变量(exp)是否为数组。 |
IsDate | 检测 | IsDate(exp) | 获取一个布尔值,如果表达式是日期或可识别为有效日期或时间,则返回True;反之,则返回False。 |
IsNothing | 检测 | IsNothing(exp) | 获取一个布尔值,指示表达式是否没有为其分配对象。 |
IsNumeric | 检测 | IsNumeric(exp) | 获取一个布尔值,指示是否可以将表达式计算为数字。 |
IsError | 检测 | IsError(exp) | 获取一个布尔值,指示是否可以将表达式计算为错误(exception)。 |
IsDBNull | 检测 | IsDBNull(exp) | 获取一个布尔值,指示对象是空值还是DBNull。 |
DDB | 财务 | DDB(Cost, Salvage, Life, Period, [double Factor = 2.0]) | 获取使用双倍余额递减法或您指定的其他方法指定特定时间段内资产的折旧。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/ddb-function。 |
FV | 财务 | FV(Rate, NPer, Pmt, [double PV = 0.0], [DueDate Due = EndOfPeriod]) | 获取指定基于定期,固定付款和固定利率的年金的未来价值。可用的DueDate枚举值: EndOfPeriod, BegOfPeriod。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/fv-function。 |
IPMT | 财务 | IPmt(Rate, Per, NPer, PV, [double FV = 0.0], [DueDate Due = EndOfPeriod]) | 获取指定基于定期固定付款和固定利率的特定年金期间的利息支付。可用的DueDate枚举值: EndOfPeriod, BegOfPeriod。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/ipmt-function。 |
NPER | 财务 | NPer(Rate, Pmt, PV, [double FV = 0.0], [DueDate Due = EndOfPeriod]) | 获取指定基于定期,固定付款和固定利率的年金的期数。可用的DueDate枚举值::EndOfPeriod, BegOfPeriod。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/nper-function。 |
PMT | 财务 | Pmt(Rate, NPer, PV, [double FV = 0.0], [DueDate Due = EndOfPeriod)] | 获取指定基于定期固定付款和固定利率的年金付款。可用的DueDate枚举值: EndOfPeriod, BegOfPeriod。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/pmt-function。 |
PPMT | 财务 | PPmt(Rate, Per, NPer, PV, [double FV = 0.0], [DueDate Due = EndOfPeriod]) | 获取指定基于定期固定付款和固定利率的特定年金期间的本金。可用的DueDate枚举值: EndOfPeriod, BegOfPeriod。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/ppmt-function。 |
PV | 财务 | PV(Rate, NPer, Pmt, [double FV = 0.0], [DueDate Due = EndOfPeriod]) | 获取指定基于将来要支付的定期固定付款和固定利率的年金现值。可用的DueDate枚举值:EndOfPeriod, BegOfPeriod。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/pv-function。 |
RATE | 财务 | Rate(NPer, Pmt, PV, [double FV = 0.0], [DueDate Due = EndOfPeriod], [double Guess = 0.1]) | 获取指定年金的每个期间的利率。可用的DueDate枚举值:EndOfPeriod, BegOfPeriod。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/rate-function。 |
SLN | 财务 | SLN(Cost, Salvage, Life) | 获取指定单个期间资产的直线折旧。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/sln-function。 |
SYD | 财务 | SYD(Cost, Salvage, Life, Period) | 获取指定指定期间内资产的年数总和折旧。查看详细信息 https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/syd-function。 |