/* Copyright (c) 2018 James Ahlborn Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ /** * Jackcess has support for evaluating Access expressions (beta support as of * the 2.2.0 release). This functionality is currently disabled by default * but can be globally enabled via the system property * "com.healthmarketscience.jackcess.enableExpressionEvaluation" or * selectively enabled on a per database basis using {@link com.healthmarketscience.jackcess.Database#setEvaluateExpressions(Boolean)}. *

* The expression evaluation engine implementation does its best to follow all * the warts and idiosyncracies of Access expression evaluation (both those * that are documented as well as those discovered through experimentation). * These include such things as value conversions, "Null" handling, rounding * rules, and implicit interpretations of expression in certain contexts. *

* Expressions can be used in a number of different places within an Access * database. When enabled, Jackcess supports the following usage: *

*

*

Supporting Classes

*

* The classes in this package make up the public api for expression handling * in Jackcess. They generally fall into two categories: *

*

General Use Classes

*

*

*

*

Advanced Use Classes

*

*

*

*

Function Support

*

* Jackcess supports many of the standard Access functions. The following * tables list the (hopefully) current status of support built into Jackcess. * *

Conversion

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
FunctionSupported
AscY
AscWY
ChrY
ChrWY
EuroConvert
FormatCurrency
FormatDateTime
FormatNumber
FormatPercent
GUIDFromString
Hex[$]Y
NzY
Oct[$]Y
Str[$]Y
StringFromGUID
ValY
CBoolY
CByteY
CCurY
CDateY
CVDateY
CDblY
CDecY
CIntY
CLngY
CSngY
CStrY
CVarY
* *

Date/Time

* * * * * * * * * * * * * * * * * * * * * * * *
FunctionSupported
DayY
Date Y
DateAddY
DateDiff
DatePartY
DateSerialY
DateValueY
HourY
MinuteY
MonthY
MonthNameY
NowY
SecondY
TimeY
TimerY
TimeSerialY
TimeValueY
WeekdayY
WeekdayNameY
YearY
* *

Financial

* * * * * * * * * * * * * *
FunctionSupported
DDBY
FVY
IPmtY
NPerY
PmtY
PPmtY
PVY
RateY
SLNY
SYDY
* *

Inspection

* * * * * * * * * * * * *
FunctionSupported
IsDatePartial
IsEmpty
IsError
IsMissing
IsNullY
IsNumericY
IsObject
TypeNameY
VarTypeY
* *

Math

* * * * * * * * * * * * * * * * *
FunctionSupported
AbsY
AtnY
CosY
ExpY
IntY
FixY
LogY
RndY
RoundY
SgnY
SinY
SqrY
TanY
* *

Program Flow

* * * * * * *
FunctionSupported
ChooseY
IIfY
SwitchY
* *

Text

* * * * * * * * * * * * * * * * * * * * * *
FunctionSupported
Format[$]
InStrY
InStrRevY
LCase[$]Y
Left[$]Y
LenY
LTrim[$]Y
RTrim[$]Y
Trim[$]Y
Mid[$]Y
ReplaceY
Right[$]Y
Space[$]Y
StrCompY
StrConv[$]Partial
String[$]Y
StrReverseY
UCase[$]Y
* * * */ package com.healthmarketscience.jackcess.expr;