您可以在任何 JDBC 应用程序(包括 Interactive SQL)中使用 JDBC 转义语法。此转义语法允许您调用存储过程而不管您正在使用哪种数据库管理系统。转义语法的一般格式为
{{ keyword parameters }}
在 Interactive SQL 中,大括号必须 成对使用。连续的括号之间不得有空格:"{{" 是允许的,但 "{ {" 是不允许的。同样,您不能在语句中使用新行字符。由于转义语法不是由 Interactive SQL 执行的,所以在存储过程中不能使用转义语法。
您可以使用转义语法访问由 JDBC 驱动程序实现的函数库,这些函数包括数字、字符串、时间、日期和系统函数。
例如,要以与数据库管理系统无关的方式获得当前用户的名称,您将执行以下语句:
SELECT {{ FN USER() }} |
可用的函数取决于您正在使用的 JDBC 驱动程序。以下两个表分别列出了 iAnywhere JDBC 驱动程序和 jConnect 驱动程序支持的函数。
数字函数 | 字符串函数 | 系统函数 | 时间/日期函数 |
---|---|---|---|
ABS | ASCII | IFNULL | CURDATE |
ACOS | CHAR | USERNAME | CURTIME |
ASIN | CONCAT | DAYNAME | |
ATAN | DIFFERENCE | DAYOFMONTH | |
ATAN2 | INSERT | DAYOFWEEK | |
CEILING | LCASE | DAYOFYEAR | |
COS | LEFT | HOUR | |
COT | LENGTH | MINUTE | |
DEGREES | LOCATE | MONTH | |
EXP | LOCATE_2 | MONTHNAME | |
FLOOR | LTRIM | NOW | |
LOG | REPEAT | QUARTER | |
LOG10 | RIGHT | SECOND | |
MOD | RTRIM | WEEK | |
PI | SOUNDEX | YEAR | |
POWER | SPACE | ||
RADIANS | SUBSTRING | ||
RAND | UCASE | ||
ROUND | |||
SIGN | |||
SIN | |||
SQRT | |||
TAN | |||
TRUNCATE |
数字函数 | 字符串函数 | 系统函数 | 时间/日期函数 |
---|---|---|---|
ABS | ASCII | DATABASE | CURDATE |
ACOS | CHAR | IFNULL | CURTIME |
ASIN | CONCAT | USER | DAYNAME |
ATAN | DIFFERENCE | CONVERT | DAYOFMONTH |
ATAN2 | LCASE | DAYOFWEEK | |
CEILING | LENGTH | HOUR | |
COS | REPEAT | MINUTE | |
COT | RIGHT | MONTH | |
DEGREES | SOUNDEX | MONTHNAME | |
EXP | SPACE | NOW | |
FLOOR | SUBSTRING | QUARTER | |
LOG | UCASE | SECOND | |
LOG10 | TIMESTAMPADD | ||
PI | TIMESTAMPDIFF | ||
POWER | YEAR | ||
RADIANS | |||
RAND | |||
ROUND | |||
SIGN | |||
SIN | |||
SQRT | |||
TAN |
使用转义语法的语句应该可以用于 SQL Anywhere、Adaptive Server Enterprise、Oracle、SQL Server 或连接到的其它数据库管理系统。
例如,要使用 SQL 转义语法通过 sa_db_info 过程获得数据库属性,您将在 Interactive SQL 中执行以下语句:
{{CALL sa_db_info( 0 ) }} |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |