[top]
[prev]
[next]

Documentation Top
Global Index
Reference Manual
TOC Index
Grammar Index
Developer’s Guide
TOC Index
Tuning Cloudscape
TOC Index
|
Appendix A Mapping of Functions to java.lang Methods
The methods of the java.lang classes map to many of the functions built into other database systems. This appendix lists the ways the methods map to functions.
Functions are often divided into the following categories:
The Cloudscape installation includes a script that you can run to create aliases for all the java.lang.Math static methods. It also includes a script that you can run to create aliases for some of the VisualNumerics.math static functions. See readme.html in /demo/util/methodalias for more details.
Table A-1 Mapping of Numeric Functions to Java Methods
Function |
Method |
Alias with Script |
ABS(number)
|
(CLASS java.lang.Math). abs(number)
|
ABS(number)
|
ACOS(double)
|
(CLASS java.lang.Math). acos(double)
|
ACOS(double)
|
ASIN(double)
|
(CLASS java.lang.Math). asin(double)
|
ASIN(double)
|
ATAN(double)
|
(CLASS java.lang.Math). atan(double)
|
ATAN(double)
|
ATAN2(double1, double2)
|
(CLASS java.lang.Math). atan2(double1,double2)
|
ATAN2(double1, double2)
|
CEILING(double)
|
(CLASS java.lang.Math). ceil(double)
|
CEILING(double)
|
COS(double)
|
(CLASS java.lang.Math). cos(double)
|
COS(double)
|
COT(double)
|
(CLASS VisualNumerics.math.SFun).cot(double)
|
COT(double) (with jnl.math.sql script)
|
DEGREES(number)
|
not available in java.lang.*
|
|
not generally available
|
(CLASS java.lang.Math)->E
|
|
EXP(double)
|
(CLASS java.lang.Math). exp(double)
|
EXP(double)
|
FLOOR(double)
|
(CLASS java.lang.Math). floor(double)
|
FLOOR(double)
|
LOG(double)
|
(CLASS java.lang.Math). log(double)
|
LOG(double)
|
LOG10(double)
|
(CLASS VisualNumerics.math.SFun).log10(double)
|
LOG10 (with jnl.math.sql script)
|
not generally available
|
(CLASS java.lang.Math). min(number1, number2)
|
must modify script
|
not generally available
|
(CLASS java.lang.Math). max(number1, number2)
|
must modify script
|
MOD(integer1, integer2)
|
|
|
PI()
|
(CLASS java.lang.Math)->PI
|
|
POWER(number, power)
|
(CLASS java.lang.Math). pow(number, power)
|
POW(number, power)
|
RADIANS(number)
|
|
|
RAND(integer)
|
(CLASS java.lang.Math). random(integer)
|
RAND(integer)
|
ROUND(number, places)
|
(CLASS java.lang.Math). round(number) rounds to 0 places
|
ROUND(number)
|
SIGN(number)
|
(number >= 0) ? `+' : `-'
|
|
SIN(double)
|
(CLASS java.lang.Math). sin(double)
|
SIN(double)
|
SQRT(double)
|
(CLASS java.lang.Math). sqrt(double)
|
SQRT(double)
|
TAN(double)
|
(CLASS java.lang.Math). tan(double)
|
TAN(double)
|
TRUNCATE (number, places)
|
(NEW java.math.BigDecimal(number.doubleValue()). setScale(places. intValue), (CLASS java.math. BigDecimal)-> ROUND_FLOOR). doubleValue()
|
|
Table A-2 Mapping of String Functions to Java Methods
Function |
Method |
ASCII(string)
|
not available
|
CHAR(code)
|
not available
|
CONCAT(string1, string2)
|
string1 || string2 OR
string1.concat(string2)
|
DIFFERENCE(string1, string2)
|
|
INSERT(string1, start, length, string2)
|
NEW java.lang.StringBuffer(string1). insert(start,string2.substring(0,length)). toString()
|
LCASE(string)
|
Built-in support with LOWER(string).
string.toLowerCase()
|
LEFT(string, count)
|
Built-in support with SUBSTRING.
string.substring(0,count)
|
LENGTH(string)
|
Built-in support with CHAR_LENGTH(string).
string.length()
|
LOCATE(string1, string2, start)
|
string1.indexOf(string2, start)
|
LTRIM(string)
|
Built-in support with LTRIM. |
REPEAT(string, count)
|
|
REPLACE(string1, string2, string3)
|
string1.replace(string2, string3)
|
RIGHT(string, count)
|
string.substring(string.length()-count, string.length())
|
RTRIM(string)
|
Built-in support with RTRIM. |
SOUNDEX(string)
|
|
SPACE(string)
|
|
SUBSTRING(string,length)
|
Built-in support with SUBSTRING, SUBSTR. |
UCASE(string)
|
Built-in support with UPPER. |
Table A-3 Mapping of Time and Date Functions to Java Methods
Function |
Method |
CURDATE()
|
Built-in support with CURRENT_DATE. |
CURTIME()
|
Built-in support with CURRENT_TIME. |
DAYNAME(date)
|
NEW java.text.SimpleDateFormat('E'). format(date, NEW java.lang.StringBuffer(), NEW java.text.FieldPosition ((CLASS java.text.DateFormat)-> DAY_OF_WEEK_FIELD))
|
DAYOFMONTH(date)
|
Built-in support with EXTRACT(DAY FROM date). date.getDate()+1 |
DAYOFWEEK(date)
|
date.getDay()+1
|
DAYOFYEAR(date)
|
NEW java.text.SimpleDateFormat('D'). format(date, NEW java.lang.StringBuffer(), NEW java.text.FieldPosition( (CLASS java.text.DateFormat) ->DAY_OF_YEAR_FIELD))
|
HOUR(time)
|
Built-in support with EXTRACT(HOUR FROM time).
time.getHours()
|
MINUTE(time)
|
Built-in support with EXTRACT(MINUTE FROM time).
time.getMinutes()
|
MONTH(date)
|
Built-in support with EXTRACT(MONTH FROM date).
date.getMonth()+1
|
MONTHNAME(date)
|
NEW java.text.SimpleDateFormat('MMMM'). format(date, NEW java.lang.StringBuffer(), NEW java.text.FieldPosition( (CLASS java.text.DateFormat)-> MONTH_FIELD))
|
NOW()
|
Built-in support with CURRENT_TIMESTAMP. |
QUARTER(date)
|
Built-in support with EXTRACT(MONTH FROM date)
date.getMonth()+1)/4 + 1
|
SECOND(time)
|
Built-in support with EXTRACT(SECOND FROM time)
time.getSeconds()
|
TIMESTAMPADD(interval, count, timestamp)
|
intervals are not yet supported; can use longs
|
TIMESTAMPDIFF(interval, timestamp1, timestamp2)
|
|
WEEK(date)
|
NEW java.text.SimpleDateFormat('w'). format(date, NEW java.lang.StringBuffer(), NEW java.text.FieldPosition ( (CLASS java.text.DateFormat)-> WEEK_OF_YEAR_FIELD))
|
YEAR(date)
|
Built-in support with EXTRACT (YEAR FROM date).
date.getYear()
|
Table A-4 Mapping of System Functions to Java Methods
Function |
Method |
DATABASE()
|
not supported yet
(Use JDBC to get the database connection URL. See Retrieving the Database Connection URL.)
|
IFNULL(expression, value)
|
(expression = IS NULL)?value:expression
|
USER()
|
Built-in support with USER. (OR use JDBC) |
Table A-5 Mapping of CONVERT Functions to Methods and CAST Expressions
Function |
Method |
Equivalent SQL-J CAST Expression |
CONVERT(value, BIGINT)
|
(value).longValue()
|
CAST (value AS LONGINT)
|
CONVERT(value, BINARY)
|
not available
|
CAST (value AS BIT(length))
|
CONVERT(value, BIT)
|
(value).booleanValue()
|
CAST (value AS BOOLEAN)
|
CONVERT(value, CHAR)
|
(value).toString()
|
CAST (value AS CHAR(length))
|
CONVERT(value, DATE)
|
(CLASS java.sql.Date). valueOf( (CLASS java.lang.String). valueOf(value))
(If source value is a string, do not use String.valueOf)
|
CAST (value AS DATE)
|
CONVERT(value, DECIMAL)
|
NEW java.math. BigDecimal( (value). doubleValue())
|
CAST (value AS DECIMAL(precision, scale))
|
CONVERT(value, DOUBLE)
|
(value).doubleValue()
|
CAST (value AS DOUBLE PRECISION)
|
CONVERT(value, FLOAT)
|
(value).doubleValue()
|
CAST (value AS FLOAT (precision))
|
CONVERT(value, INTEGER)
|
(value).intValue()
|
CAST (value AS INTEGER)
|
CONVERT(value, LONGVARBINARY)
|
|
CAST (value AS BITVARYING(length))
|
CONVERT(value, LONGVARCHAR)
|
(value).toString()
|
CAST (value AS VARCHAR(length))
|
CONVERT(value, REAL)
|
(value).floatValue()
|
CAST (value AS REAL)
|
CONVERT(value, SMALLINT)
|
(value).shortValue()
|
CAST (value AS SMALLINT)
|
CONVERT(value, TIME)
|
(CLASS java.sql.Time). valueOf((CLASS java.lang.String). valueOf(value))
|
CAST (value AS TIME)
|
CONVERT(value, TIMESTAMP)
|
(CLASS java.sql.Timestamp). valueOf((CLASS java.lang.String). valueOf(value))
(If source value is a string, do not use String.valueOf)
|
CAST (value AS TIMESTAMP)
|
CONVERT(value, TINYINT)
|
(value).byteValue()
|
CAST (value AS TINYINT)
|
CONVERT(value, VARBINARY)
|
not available
|
CAST (value AS BITVARYING(length))
|
CONVERT(value, VARCHAR)
|
(value).toString()
|
CAST (value AS VARCHAR(length))
|
|