提交 9ded294c authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation.

上级 adabda79
......@@ -1712,11 +1712,18 @@ DATE '2004-12-31'
"
"Other Grammar","Decimal","
[ + | - ] number [ . number ]
[ + | - ] { { number [ . number ] } | { . number } } [ E [ + | - ] expNumber [...] ] ]
","
Number with fixed precision and scale.
A decimal number with fixed precision and scale.
Internally, ""java.lang.BigDecimal"" is used.
To ensure the floating point representation is used, use CAST(X AS DOUBLE).
There are some special decimal values: to represent positive infinity, use ""POWER(0, -1)"";
for negative infinity, use ""(-POWER(0, -1))""; for -0.0, use ""(-CAST(0 AS DOUBLE))"";
for ""NaN"" (not a number), use ""SQRT(-1)"".
","
-1600.05
SELECT -1600.05
SELECT CAST(0 AS DOUBLE)
SELECT -1.4e-10
"
"Other Grammar","Digit","
......@@ -1737,20 +1744,6 @@ No escaping is required within the text.
$$John's car$$
"
"Other Grammar","Double","
[ + | - ] { { number [ . number ] } | { . number } } [ E [ + | - ] expNumber [...] ] ]
","
A floating point number with high precision.
The limitations are the same as for the Java data type Double.
To ensure the floating point representation is used, use CAST.
There are some special values: to represent positive infinity, use ""POWER(0, -1)"";
for negative infinity, use ""(-POWER(0, -1))""; for -0.0, use ""(-CAST(0 AS DOUBLE))"";
for ""NaN"" (not a number), use ""SQRT(-1)"".
","
-1.4e-10
CAST(0 AS DOUBLE)
"
"Other Grammar","Expression","
andCondition [ { OR andCondition } [...] ]
","
......@@ -1834,6 +1827,17 @@ The maximum length of the number depends on the data type used.
100
"
"Other Grammar","Numeric","
int | long | decimal | hexNumber
","
The data type of a number is always the lowest possible for the given value.
If the number contains a dot this is decimal; otherwise it is int, long, or decimal (depending on the value).
","
SELECT -1600.05
SELECT CAST(0 AS DOUBLE)
SELECT -1.4e-10
"
"Other Grammar","Operand","
summand [ { || summand } [...] ]
","
......@@ -1983,10 +1987,9 @@ TIMESTAMP '2005-12-31 23:59:59'
"
"Other Grammar","Value","
string | dollarQuotedString | hexNumber | int | long | decimal | double
| date | time | timestamp | boolean | bytes | array | null
string | dollarQuotedString | numeric | date | time | timestamp | boolean | bytes | array | null
","
A value of any data type, or null.
A literal value of any data type, or null.
","
10
"
......@@ -2242,7 +2245,7 @@ ARRAY
"
"Functions (Aggregate)","AVG","
AVG ( [ DISTINCT ] { int | long | decimal | double } )
AVG ( [ DISTINCT ] { numeric } )
","
The average (mean) value.
If no rows are selected, the result is NULL.
......@@ -2320,7 +2323,7 @@ MIN(NAME)
"
"Functions (Aggregate)","SUM","
SUM( [ DISTINCT ] { int | long | decimal | double } )
SUM( [ DISTINCT ] { numeric } )
","
The sum of all values.
If no rows are selected, the result is NULL.
......@@ -2343,7 +2346,7 @@ SELECT SELECTIVITY(FIRSTNAME), SELECTIVITY(NAME) FROM TEST WHERE ROWNUM()<20000
"
"Functions (Aggregate)","STDDEV_POP","
STDDEV_POP( [ DISTINCT ] double )
STDDEV_POP( [ DISTINCT ] numeric )
","
The population standard deviation.
This method returns a double.
......@@ -2354,7 +2357,7 @@ STDDEV_POP(X)
"
"Functions (Aggregate)","STDDEV_SAMP","
STDDEV_SAMP( [ DISTINCT ] double )
STDDEV_SAMP( [ DISTINCT ] numeric )
","
The sample standard deviation.
This method returns a double.
......@@ -2365,7 +2368,7 @@ STDDEV(X)
"
"Functions (Aggregate)","VAR_POP","
VAR_POP( [ DISTINCT ] double )
VAR_POP( [ DISTINCT ] numeric )
","
The population variance (square of the population standard deviation).
This method returns a double.
......@@ -2376,7 +2379,7 @@ VAR_POP(X)
"
"Functions (Aggregate)","VAR_SAMP","
VAR_SAMP( [ DISTINCT ] double )
VAR_SAMP( [ DISTINCT ] numeric )
","
The sample variance (square of the sample standard deviation).
This method returns a double.
......@@ -2387,7 +2390,7 @@ VAR_SAMP(X)
"
"Functions (Numeric)","ABS","
ABS ( { int | long | decimal | double } )
ABS ( { numeric } )
","
See also Java ""Math.abs"".
Please note that ""Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE"" and ""Math.abs(Long.MIN_VALUE) == Long.MIN_VALUE"".
......@@ -2397,7 +2400,7 @@ ABS(ID)
"
"Functions (Numeric)","ACOS","
ACOS(double)
ACOS(numeric)
","
Calculate the arc cosine.
See also Java ""Math.acos"".
......@@ -2407,7 +2410,7 @@ ACOS(D)
"
"Functions (Numeric)","ASIN","
ASIN(double)
ASIN(numeric)
","
Calculate the arc sine.
See also Java ""Math.asin"".
......@@ -2417,7 +2420,7 @@ ASIN(D)
"
"Functions (Numeric)","ATAN","
ATAN(double)
ATAN(numeric)
","
Calculate the arc tangent.
See also Java ""Math.atan"".
......@@ -2427,7 +2430,7 @@ ATAN(D)
"
"Functions (Numeric)","COS","
COS(double)
COS(numeric)
","
Calculate the trigonometric cosine.
See also Java ""Math.cos"".
......@@ -2437,7 +2440,7 @@ COS(ANGLE)
"
"Functions (Numeric)","COSH","
COSH(double)
COSH(numeric)
","
Calculate the hyperbolic cosine.
See also Java ""Math.cosh"".
......@@ -2447,7 +2450,7 @@ COSH(X)
"
"Functions (Numeric)","COT","
COT(double)
COT(numeric)
","
Calculate the trigonometric cotangent (""1/TAN(ANGLE)"").
See also Java ""Math.*"" functions.
......@@ -2457,7 +2460,7 @@ COT(ANGLE)
"
"Functions (Numeric)","SIN","
SIN(double)
SIN(numeric)
","
Calculate the trigonometric sine.
See also Java ""Math.sin"".
......@@ -2467,7 +2470,7 @@ SIN(ANGLE)
"
"Functions (Numeric)","SINH","
SINH(double)
SINH(numeric)
","
Calculate the hyperbolic sine.
See also Java ""Math.sinh"".
......@@ -2477,7 +2480,7 @@ SINH(ANGLE)
"
"Functions (Numeric)","TAN","
TAN(double)
TAN(numeric)
","
Calculate the trigonometric tangent.
See also Java ""Math.tan"".
......@@ -2487,7 +2490,7 @@ TAN(ANGLE)
"
"Functions (Numeric)","TANH","
TANH(double)
TANH(numeric)
","
Calculate the hyperbolic tangent.
See also Java ""Math.tanh"".
......@@ -2497,7 +2500,7 @@ TANH(X)
"
"Functions (Numeric)","ATAN2","
ATAN2(double, double)
ATAN2(numeric, numeric)
","
Calculate the angle when converting the rectangular coordinates to polar coordinates.
See also Java ""Math.atan2"".
......@@ -2547,7 +2550,7 @@ MOD(A, B)
"
"Functions (Numeric)","CEILING","
{ CEILING | CEIL } (double)
{ CEILING | CEIL } (numeric)
","
See also Java ""Math.ceil"".
This method returns a double.
......@@ -2556,7 +2559,7 @@ CEIL(A)
"
"Functions (Numeric)","DEGREES","
DEGREES(double)
DEGREES(numeric)
","
See also Java ""Math.toDegrees"".
This method returns a double.
......@@ -2565,7 +2568,7 @@ DEGREES(A)
"
"Functions (Numeric)","EXP","
EXP(double)
EXP(numeric)
","
See also Java ""Math.exp"".
This method returns a double.
......@@ -2574,7 +2577,7 @@ EXP(A)
"
"Functions (Numeric)","FLOOR","
FLOOR(double)
FLOOR(numeric)
","
See also Java ""Math.floor"".
This method returns a double.
......@@ -2583,7 +2586,7 @@ FLOOR(A)
"
"Functions (Numeric)","LOG","
{ LOG | LN } (double)
{ LOG | LN } (numeric)
","
See also Java ""Math.log"".
This method returns a double.
......@@ -2592,7 +2595,7 @@ LOG(A)
"
"Functions (Numeric)","LOG10","
LOG10(double)
LOG10(numeric)
","
See also Java ""Math.log10"" (in Java 5).
This method returns a double.
......@@ -2601,7 +2604,7 @@ LOG10(A)
"
"Functions (Numeric)","RADIANS","
RADIANS(double)
RADIANS(numeric)
","
See also Java ""Math.toRadians"".
This method returns a double.
......@@ -2610,7 +2613,7 @@ RADIANS(A)
"
"Functions (Numeric)","SQRT","
SQRT(double)
SQRT(numeric)
","
See also Java ""Math.sqrt"".
This method returns a double.
......@@ -2628,7 +2631,7 @@ PI()
"
"Functions (Numeric)","POWER","
POWER(double, double)
POWER(numeric, numeric)
","
See also Java ""Math.pow"".
This method returns a double.
......@@ -2655,7 +2658,7 @@ RANDOM_UUID()
"
"Functions (Numeric)","ROUND","
ROUND(double, digitsInt)
ROUND(numeric, digitsInt)
","
Rounds to a number of digits.
This method returns a double.
......@@ -2664,7 +2667,7 @@ ROUND(VALUE, 2)
"
"Functions (Numeric)","ROUNDMAGIC","
ROUNDMAGIC(double)
ROUNDMAGIC(numeric)
","
This function rounds numbers in a good way, but it is slow.
It has a special handling for numbers around 0.
......@@ -2686,7 +2689,7 @@ CALL SECURE_RAND(16)
"
"Functions (Numeric)","SIGN","
SIGN ( { int | long | decimal | double } )
SIGN ( { numeric } )
","
Returns -1 if the value is smaller 0, 0 if zero, and otherwise 1.
","
......@@ -2727,7 +2730,7 @@ CALL HASH('SHA256', STRINGTOUTF8('Password'), 1000)
"
"Functions (Numeric)","TRUNCATE","
TRUNCATE(double, digitsInt)
TRUNCATE(numeric, digitsInt)
","
Truncates to a number of digits (to the next value closer to 0).
This method returns a double.
......
......@@ -25,7 +25,7 @@ Change Log
To detect unclosed connections, a PhantomReference is used.
</li><li>Issue 322: Left joins didn't work when used as subquery in the form clause.
</li><li>A prepared statement if type CALL that returned a result set could
throw a NullPointerExecption if executed multiple times.
throw a NullPointerException if executed multiple times.
</li><li>The following built-in functions were marked as deterministic and therefore
not re-executed when using in a prepared statement:
LOCK_TIMEOUT, LINK_SCHEMA, CANCEL_SESSION, FILE_READ.
......
......@@ -564,9 +564,9 @@ DATE 'yyyy-MM-dd'
","
A date literal."
"Other Grammar","Decimal","
[ + | - ] number [ . number ]
[ + | - ] { { number [ . number ] } | { . number } } [ E [ + | - ] expNumber [...] ] ]
","
Number with fixed precision and scale."
A decimal number with fixed precision and scale."
"Other Grammar","Digit","
0-9
","
......@@ -575,10 +575,6 @@ A digit."
$$anythingExceptTwoDollarSigns$$
","
A string starts and ends with two dollar signs."
"Other Grammar","Double","
[ + | - ] { { number [ . number ] } | { . number } } [ E [ + | - ] expNumber [...] ] ]
","
A floating point number with high precision."
"Other Grammar","Expression","
andCondition [ { OR andCondition } [...] ]
","
......@@ -619,6 +615,10 @@ NULL is a value without data type and means 'unknown value'."
digit [...]
","
The maximum length of the number depends on the data type used."
"Other Grammar","Numeric","
int | long | decimal | hexNumber
","
The data type of a number is always the lowest possible for the given value."
"Other Grammar","Operand","
summand [ { || summand } [...] ]
","
......@@ -690,10 +690,9 @@ TIMESTAMP 'yyyy-MM-dd hh:mm:ss[.nnnnnnnnn]'
","
A timestamp literal."
"Other Grammar","Value","
string | dollarQuotedString | hexNumber | int | long | decimal | double
| date | time | timestamp | boolean | bytes | array | null
string | dollarQuotedString | numeric | date | time | timestamp | boolean | bytes | array | null
","
A value of any data type, or null."
A literal value of any data type, or null."
"Data Types","INT Type","
INT | INTEGER | MEDIUMINT | INT4 | SIGNED
","
......@@ -781,7 +780,7 @@ ARRAY
","
An array of values."
"Functions (Aggregate)","AVG","
AVG ( [ DISTINCT ] { int | long | decimal | double } )
AVG ( [ DISTINCT ] { numeric } )
","
The average (mean) value."
"Functions (Aggregate)","BOOL_AND","
......@@ -811,7 +810,7 @@ MIN(value)
","
The lowest value."
"Functions (Aggregate)","SUM","
SUM( [ DISTINCT ] { int | long | decimal | double } )
SUM( [ DISTINCT ] { numeric } )
","
The sum of all values."
"Functions (Aggregate)","SELECTIVITY","
......@@ -819,67 +818,67 @@ SELECTIVITY(value)
","
Estimates the selectivity (0-100) of a value."
"Functions (Aggregate)","STDDEV_POP","
STDDEV_POP( [ DISTINCT ] double )
STDDEV_POP( [ DISTINCT ] numeric )
","
The population standard deviation."
"Functions (Aggregate)","STDDEV_SAMP","
STDDEV_SAMP( [ DISTINCT ] double )
STDDEV_SAMP( [ DISTINCT ] numeric )
","
The sample standard deviation."
"Functions (Aggregate)","VAR_POP","
VAR_POP( [ DISTINCT ] double )
VAR_POP( [ DISTINCT ] numeric )
","
The population variance (square of the population standard deviation)."
"Functions (Aggregate)","VAR_SAMP","
VAR_SAMP( [ DISTINCT ] double )
VAR_SAMP( [ DISTINCT ] numeric )
","
The sample variance (square of the sample standard deviation)."
"Functions (Numeric)","ABS","
ABS ( { int | long | decimal | double } )
ABS ( { numeric } )
","
See also Java ""Math."
"Functions (Numeric)","ACOS","
ACOS(double)
ACOS(numeric)
","
Calculate the arc cosine."
"Functions (Numeric)","ASIN","
ASIN(double)
ASIN(numeric)
","
Calculate the arc sine."
"Functions (Numeric)","ATAN","
ATAN(double)
ATAN(numeric)
","
Calculate the arc tangent."
"Functions (Numeric)","COS","
COS(double)
COS(numeric)
","
Calculate the trigonometric cosine."
"Functions (Numeric)","COSH","
COSH(double)
COSH(numeric)
","
Calculate the hyperbolic cosine."
"Functions (Numeric)","COT","
COT(double)
COT(numeric)
","
Calculate the trigonometric cotangent (""1/TAN(ANGLE)"")."
"Functions (Numeric)","SIN","
SIN(double)
SIN(numeric)
","
Calculate the trigonometric sine."
"Functions (Numeric)","SINH","
SINH(double)
SINH(numeric)
","
Calculate the hyperbolic sine."
"Functions (Numeric)","TAN","
TAN(double)
TAN(numeric)
","
Calculate the trigonometric tangent."
"Functions (Numeric)","TANH","
TANH(double)
TANH(numeric)
","
Calculate the hyperbolic tangent."
"Functions (Numeric)","ATAN2","
ATAN2(double, double)
ATAN2(numeric, numeric)
","
Calculate the angle when converting the rectangular coordinates to polar coordinates."
"Functions (Numeric)","BITAND","
......@@ -899,35 +898,35 @@ MOD(long, long)
","
The modulo operation."
"Functions (Numeric)","CEILING","
{ CEILING | CEIL } (double)
{ CEILING | CEIL } (numeric)
","
See also Java ""Math."
"Functions (Numeric)","DEGREES","
DEGREES(double)
DEGREES(numeric)
","
See also Java ""Math."
"Functions (Numeric)","EXP","
EXP(double)
EXP(numeric)
","
See also Java ""Math."
"Functions (Numeric)","FLOOR","
FLOOR(double)
FLOOR(numeric)
","
See also Java ""Math."
"Functions (Numeric)","LOG","
{ LOG | LN } (double)
{ LOG | LN } (numeric)
","
See also Java ""Math."
"Functions (Numeric)","LOG10","
LOG10(double)
LOG10(numeric)
","
See also Java ""Math."
"Functions (Numeric)","RADIANS","
RADIANS(double)
RADIANS(numeric)
","
See also Java ""Math."
"Functions (Numeric)","SQRT","
SQRT(double)
SQRT(numeric)
","
See also Java ""Math."
"Functions (Numeric)","PI","
......@@ -935,7 +934,7 @@ PI()
","
See also Java ""Math."
"Functions (Numeric)","POWER","
POWER(double, double)
POWER(numeric, numeric)
","
See also Java ""Math."
"Functions (Numeric)","RAND","
......@@ -947,11 +946,11 @@ RANDOM_UUID()
","
Returns a new UUID with 122 pseudo random bits."
"Functions (Numeric)","ROUND","
ROUND(double, digitsInt)
ROUND(numeric, digitsInt)
","
Rounds to a number of digits."
"Functions (Numeric)","ROUNDMAGIC","
ROUNDMAGIC(double)
ROUNDMAGIC(numeric)
","
This function rounds numbers in a good way, but it is slow."
"Functions (Numeric)","SECURE_RAND","
......@@ -959,7 +958,7 @@ SECURE_RAND(int)
","
Generates a number of cryptographically secure random numbers."
"Functions (Numeric)","SIGN","
SIGN ( { int | long | decimal | double } )
SIGN ( { numeric } )
","
Returns -1 if the value is smaller 0, 0 if zero, and otherwise 1."
"Functions (Numeric)","ENCRYPT","
......@@ -975,7 +974,7 @@ HASH(algorithmString, dataBytes, iterationInt)
","
Calculate the hash value using an algorithm, and repeat this process for a number of iterations."
"Functions (Numeric)","TRUNCATE","
TRUNCATE(double, digitsInt)
TRUNCATE(numeric, digitsInt)
","
Truncates to a number of digits (to the next value closer to 0)."
"Functions (Numeric)","COMPRESS","
......
......@@ -13,7 +13,8 @@ import java.sql.Statement;
import org.h2.test.TestBase;
/**
* Test that count(column) is converted to count(*) if the column is not nullable.
* Test that count(column) is converted to count(*) if the column is not
* nullable.
*/
public class TestSelectCountNonNullColumn extends TestBase {
......
......@@ -683,4 +683,4 @@ sine cosine tangent cotangent trigonometric hyperbolic lte abe alphabetical kill
diagnostics checkout somewhat icu delegation classifications karlsson applet
litailang springsource eccn springframework spr growth teams gigabytes europe
mcleod decade experience travel willing scjp himself routinely tsi retrieving
multiplied
multiplied ross judson closeable watcher enqueued referent refs watch tracked
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论