增加浮点数特殊值显示GUC控制
This commit is contained in:
@ -359,6 +359,7 @@ wdr_snapshot_retention_days|int|1,8|NULL|NULL|
|
|||||||
wdr_snapshot_query_timeout|int|100,2147483647|s|NULL|
|
wdr_snapshot_query_timeout|int|100,2147483647|s|NULL|
|
||||||
enable_wdr_snapshot|bool|0,0|NULL|NULL|
|
enable_wdr_snapshot|bool|0,0|NULL|NULL|
|
||||||
enable_set_variable_b_format|bool|0,0|NULL|NULL|
|
enable_set_variable_b_format|bool|0,0|NULL|NULL|
|
||||||
|
enable_binary_special_o_format|bool|0,0|NULL|NULL|
|
||||||
enable_asp|bool|0,0|NULL|NULL|
|
enable_asp|bool|0,0|NULL|NULL|
|
||||||
enable_startwith_debug|bool|0,0|NULL|NULL|
|
enable_startwith_debug|bool|0,0|NULL|NULL|
|
||||||
enable_stmt_track|bool|0,0|NULL|NULL|
|
enable_stmt_track|bool|0,0|NULL|NULL|
|
||||||
|
@ -397,18 +397,30 @@ Datum float4out(PG_FUNCTION_ARGS)
|
|||||||
errno_t rc = EOK;
|
errno_t rc = EOK;
|
||||||
|
|
||||||
if (isnan(num)) {
|
if (isnan(num)) {
|
||||||
rc = strcpy_s(ascii, MAXFLOATWIDTH + 1, "NaN");
|
if (u_sess->attr.attr_sql.enable_binary_special_o_format) {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "Nan");
|
||||||
|
} else {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "NaN");
|
||||||
|
}
|
||||||
securec_check_ss(rc, "\0", "\0");
|
securec_check_ss(rc, "\0", "\0");
|
||||||
PG_RETURN_CSTRING(ascii);
|
PG_RETURN_CSTRING(ascii);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (is_infinite(num)) {
|
switch (is_infinite(num)) {
|
||||||
case 1:
|
case 1:
|
||||||
rc = strcpy_s(ascii, MAXFLOATWIDTH + 1, "Infinity");
|
if (u_sess->attr.attr_sql.enable_binary_special_o_format) {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "Inf");
|
||||||
|
} else {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "Infinity");
|
||||||
|
}
|
||||||
securec_check_ss(rc, "\0", "\0");
|
securec_check_ss(rc, "\0", "\0");
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
rc = strcpy_s(ascii, MAXFLOATWIDTH + 1, "-Infinity");
|
if (u_sess->attr.attr_sql.enable_binary_special_o_format) {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "-Inf");
|
||||||
|
} else {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "-Infinity");
|
||||||
|
}
|
||||||
securec_check_ss(rc, "\0", "\0");
|
securec_check_ss(rc, "\0", "\0");
|
||||||
break;
|
break;
|
||||||
default: {
|
default: {
|
||||||
@ -627,17 +639,29 @@ Datum float8out(PG_FUNCTION_ARGS)
|
|||||||
errno_t rc = EOK;
|
errno_t rc = EOK;
|
||||||
|
|
||||||
if (isnan(num)) {
|
if (isnan(num)) {
|
||||||
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "NaN");
|
if (u_sess->attr.attr_sql.enable_binary_special_o_format) {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "Nan");
|
||||||
|
} else {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "NaN");
|
||||||
|
}
|
||||||
securec_check(rc, "\0", "\0");
|
securec_check(rc, "\0", "\0");
|
||||||
PG_RETURN_CSTRING(ascii);
|
PG_RETURN_CSTRING(ascii);
|
||||||
}
|
}
|
||||||
switch (is_infinite(num)) {
|
switch (is_infinite(num)) {
|
||||||
case 1:
|
case 1:
|
||||||
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "Infinity");
|
if (u_sess->attr.attr_sql.enable_binary_special_o_format) {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "Inf");
|
||||||
|
} else {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "Infinity");
|
||||||
|
}
|
||||||
securec_check(rc, "\0", "\0");
|
securec_check(rc, "\0", "\0");
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "-Infinity");
|
if (u_sess->attr.attr_sql.enable_binary_special_o_format) {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "-Inf");
|
||||||
|
} else {
|
||||||
|
rc = strcpy_s(ascii, MAXDOUBLEWIDTH + 1, "-Infinity");
|
||||||
|
}
|
||||||
securec_check(rc, "\0", "\0");
|
securec_check(rc, "\0", "\0");
|
||||||
break;
|
break;
|
||||||
default: {
|
default: {
|
||||||
|
@ -663,6 +663,17 @@ static void InitSqlConfigureNamesBool()
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL},
|
NULL},
|
||||||
|
{{"enable_binary_special_o_format",
|
||||||
|
PGC_USERSET,
|
||||||
|
NODE_ALL,
|
||||||
|
QUERY_TUNING_COST,
|
||||||
|
gettext_noop("Allows the user to specify the value of a double-precision floating-point parameter."),
|
||||||
|
NULL},
|
||||||
|
&u_sess->attr.attr_sql.enable_binary_special_o_format,
|
||||||
|
false,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL},
|
||||||
{{"enable_seqscan",
|
{{"enable_seqscan",
|
||||||
PGC_USERSET,
|
PGC_USERSET,
|
||||||
NODE_ALL,
|
NODE_ALL,
|
||||||
|
@ -127,6 +127,7 @@ typedef struct knl_session_attr_sql {
|
|||||||
bool enable_light_proxy;
|
bool enable_light_proxy;
|
||||||
bool enable_pbe_optimization;
|
bool enable_pbe_optimization;
|
||||||
bool enable_cluster_resize;
|
bool enable_cluster_resize;
|
||||||
|
bool enable_binary_special_o_format;
|
||||||
bool lo_compat_privileges;
|
bool lo_compat_privileges;
|
||||||
bool quote_all_identifiers;
|
bool quote_all_identifiers;
|
||||||
bool enforce_a_behavior;
|
bool enforce_a_behavior;
|
||||||
|
@ -433,16 +433,53 @@ ERROR: syntax error at or near "/"
|
|||||||
LINE 1: SELECT 4.0f / 2.0;
|
LINE 1: SELECT 4.0f / 2.0;
|
||||||
^
|
^
|
||||||
set float_suffix_acceptance to on;
|
set float_suffix_acceptance to on;
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
result
|
||||||
|
-----------------------
|
||||||
|
The value is Infinity
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
result
|
||||||
|
------------------------
|
||||||
|
The value is -Infinity
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_NAN)) AS result;
|
||||||
|
result
|
||||||
|
------------------
|
||||||
|
The value is NaN
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
set enable_binary_special_o_format to on;
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
result
|
||||||
|
------------------
|
||||||
|
The value is Inf
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
result
|
||||||
|
-------------------
|
||||||
|
The value is -Inf
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_NAN)) AS result;
|
||||||
|
result
|
||||||
|
------------------
|
||||||
|
The value is Nan
|
||||||
|
(1 row)
|
||||||
|
|
||||||
SELECT BINARY_DOUBLE_INFINITY;
|
SELECT BINARY_DOUBLE_INFINITY;
|
||||||
binary_double_infinity
|
binary_double_infinity
|
||||||
------------------------
|
------------------------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT BINARY_DOUBLE_NAN;
|
SELECT BINARY_DOUBLE_NAN;
|
||||||
binary_double_nan
|
binary_double_nan
|
||||||
-------------------
|
-------------------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
CREATE TABLE test_table (
|
CREATE TABLE test_table (
|
||||||
@ -454,7 +491,7 @@ VALUES (1, BINARY_DOUBLE_NAN);
|
|||||||
SELECT * FROM test_table WHERE float_value = BINARY_DOUBLE_NAN;
|
SELECT * FROM test_table WHERE float_value = BINARY_DOUBLE_NAN;
|
||||||
id | float_value
|
id | float_value
|
||||||
----+-------------
|
----+-------------
|
||||||
1 | NaN
|
1 | Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
INSERT INTO test_table (id, float_value)
|
INSERT INTO test_table (id, float_value)
|
||||||
@ -462,75 +499,75 @@ VALUES (2, BINARY_DOUBLE_INFINITY);
|
|||||||
SELECT * FROM test_table WHERE float_value = BINARY_DOUBLE_INFINITY;
|
SELECT * FROM test_table WHERE float_value = BINARY_DOUBLE_INFINITY;
|
||||||
id | float_value
|
id | float_value
|
||||||
----+-------------
|
----+-------------
|
||||||
2 | Infinity
|
2 | Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT float_value + 1 FROM test_table WHERE id = 1;
|
SELECT float_value + 1 FROM test_table WHERE id = 1;
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT float_value * 2 FROM test_table WHERE id = 2;
|
SELECT float_value * 2 FROM test_table WHERE id = 2;
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM test_table WHERE float_value = BINARY_DOUBLE_NAN OR float_value = BINARY_DOUBLE_INFINITY;
|
SELECT * FROM test_table WHERE float_value = BINARY_DOUBLE_NAN OR float_value = BINARY_DOUBLE_INFINITY;
|
||||||
id | float_value
|
id | float_value
|
||||||
----+-------------
|
----+-------------
|
||||||
1 | NaN
|
1 | Nan
|
||||||
2 | Infinity
|
2 | Inf
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
DROP TABLE test_table;
|
DROP TABLE test_table;
|
||||||
SELECT ABS(binary_double_infinity);
|
SELECT ABS(binary_double_infinity);
|
||||||
abs
|
abs
|
||||||
----------
|
-----
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT CEIL(binary_double_infinity);
|
SELECT CEIL(binary_double_infinity);
|
||||||
ceil
|
ceil
|
||||||
----------
|
------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT SQRT(binary_double_infinity);
|
SELECT SQRT(binary_double_infinity);
|
||||||
sqrt
|
sqrt
|
||||||
----------
|
------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT FLOOR(binary_double_infinity);
|
SELECT FLOOR(binary_double_infinity);
|
||||||
floor
|
floor
|
||||||
----------
|
-------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT SQRT(binary_double_infinity);
|
SELECT SQRT(binary_double_infinity);
|
||||||
sqrt
|
sqrt
|
||||||
----------
|
------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT EXP(binary_double_infinity);
|
SELECT EXP(binary_double_infinity);
|
||||||
exp
|
exp
|
||||||
----------
|
-----
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT LOG(binary_double_infinity);
|
SELECT LOG(binary_double_infinity);
|
||||||
log
|
log
|
||||||
----------
|
-----
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT POWER(binary_double_infinity, 2);
|
SELECT POWER(binary_double_infinity, 2);
|
||||||
power
|
power
|
||||||
----------
|
-------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT SIN(binary_double_infinity);
|
SELECT SIN(binary_double_infinity);
|
||||||
@ -539,55 +576,55 @@ CONTEXT: referenced column: sin
|
|||||||
SELECT ABS(binary_double_nan);
|
SELECT ABS(binary_double_nan);
|
||||||
abs
|
abs
|
||||||
-----
|
-----
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT CEIL(binary_double_nan);
|
SELECT CEIL(binary_double_nan);
|
||||||
ceil
|
ceil
|
||||||
------
|
------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT SQRT(binary_double_nan);
|
SELECT SQRT(binary_double_nan);
|
||||||
sqrt
|
sqrt
|
||||||
------
|
------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT FLOOR(binary_double_nan);
|
SELECT FLOOR(binary_double_nan);
|
||||||
floor
|
floor
|
||||||
-------
|
-------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT SQRT(binary_double_nan);
|
SELECT SQRT(binary_double_nan);
|
||||||
sqrt
|
sqrt
|
||||||
------
|
------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT EXP(binary_double_nan);
|
SELECT EXP(binary_double_nan);
|
||||||
exp
|
exp
|
||||||
-----
|
-----
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT LOG(binary_double_nan);
|
SELECT LOG(binary_double_nan);
|
||||||
log
|
log
|
||||||
-----
|
-----
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT POWER(binary_double_nan, 2);
|
SELECT POWER(binary_double_nan, 2);
|
||||||
power
|
power
|
||||||
-------
|
-------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT SIN(binary_double_nan);
|
SELECT SIN(binary_double_nan);
|
||||||
sin
|
sin
|
||||||
-----
|
-----
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- 创建自定义函数
|
-- 创建自定义函数
|
||||||
@ -668,49 +705,49 @@ SELECT (binary_double_infinity > 0.0) OR (binary_double_nan < binary_double_infi
|
|||||||
SELECT binary_double_infinity + 1.0; -- 返回正无穷大
|
SELECT binary_double_infinity + 1.0; -- 返回正无穷大
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_nan + 1.0; -- 返回 NaN
|
SELECT binary_double_nan + 1.0; -- 返回 NaN
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_infinity - binary_double_infinity; -- 返回 NaN
|
SELECT binary_double_infinity - binary_double_infinity; -- 返回 NaN
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_nan - 1.0; -- 返回 NaN
|
SELECT binary_double_nan - 1.0; -- 返回 NaN
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_infinity * binary_double_infinity; -- 返回正无穷大
|
SELECT binary_double_infinity * binary_double_infinity; -- 返回正无穷大
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
Infinity
|
Inf
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_nan * 1.0; -- 返回 NaN
|
SELECT binary_double_nan * 1.0; -- 返回 NaN
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_infinity / binary_double_infinity; -- 返回 NaN
|
SELECT binary_double_infinity / binary_double_infinity; -- 返回 NaN
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_nan / 1.0; -- 返回 NaN
|
SELECT binary_double_nan / 1.0; -- 返回 NaN
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
CREATE TABLE T1(binary_double_nan INT);
|
CREATE TABLE T1(binary_double_nan INT);
|
||||||
@ -718,15 +755,15 @@ INSERT INTO T1 VALUES(1),(2),(3);
|
|||||||
SELECT binary_double_nan;
|
SELECT binary_double_nan;
|
||||||
binary_double_nan
|
binary_double_nan
|
||||||
-------------------
|
-------------------
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT binary_double_nan FROM T1;
|
SELECT binary_double_nan FROM T1;
|
||||||
binary_double_nan
|
binary_double_nan
|
||||||
-------------------
|
-------------------
|
||||||
NaN
|
Nan
|
||||||
NaN
|
Nan
|
||||||
NaN
|
Nan
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
SELECT T1.binary_double_nan FROM T1;
|
SELECT T1.binary_double_nan FROM T1;
|
||||||
@ -770,19 +807,19 @@ insert into t1 values(binary_double_nan);
|
|||||||
select avg(id) from t1;
|
select avg(id) from t1;
|
||||||
avg
|
avg
|
||||||
-----
|
-----
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
select sum(id) from t1;
|
select sum(id) from t1;
|
||||||
sum
|
sum
|
||||||
-----
|
-----
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
select max(id) from t1;
|
select max(id) from t1;
|
||||||
max
|
max
|
||||||
-----
|
-----
|
||||||
NaN
|
Nan
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
select min(id) from t1;
|
select min(id) from t1;
|
||||||
@ -800,9 +837,9 @@ insert into t1 values(3.14),(10),(15);
|
|||||||
select binary_double_nan from t1;
|
select binary_double_nan from t1;
|
||||||
binary_double_nan
|
binary_double_nan
|
||||||
-------------------
|
-------------------
|
||||||
NaN
|
Nan
|
||||||
NaN
|
Nan
|
||||||
NaN
|
Nan
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
select t1.binary_double_nan from t1;
|
select t1.binary_double_nan from t1;
|
||||||
@ -820,7 +857,7 @@ insert into t1 values (100,9);
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
binary_double_infinity | id
|
binary_double_infinity | id
|
||||||
------------------------+----
|
------------------------+----
|
||||||
Infinity | 10
|
Inf | 10
|
||||||
100 | 9
|
100 | 9
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
@ -832,7 +869,7 @@ select * from t1 where binary_double_infinity = 100;
|
|||||||
select * from t1 where binary_double_infinity = binary_double_infinity;
|
select * from t1 where binary_double_infinity = binary_double_infinity;
|
||||||
binary_double_infinity | id
|
binary_double_infinity | id
|
||||||
------------------------+----
|
------------------------+----
|
||||||
Infinity | 10
|
Inf | 10
|
||||||
100 | 9
|
100 | 9
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
|
@ -157,6 +157,15 @@ SELECT 4.0f / 2.0;
|
|||||||
|
|
||||||
set float_suffix_acceptance to on;
|
set float_suffix_acceptance to on;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_NAN)) AS result;
|
||||||
|
set enable_binary_special_o_format to on;
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_INFINITY)) AS result;
|
||||||
|
SELECT CONCAT('The value is ', TO_CHAR(-BINARY_DOUBLE_NAN)) AS result;
|
||||||
|
|
||||||
SELECT BINARY_DOUBLE_INFINITY;
|
SELECT BINARY_DOUBLE_INFINITY;
|
||||||
SELECT BINARY_DOUBLE_NAN;
|
SELECT BINARY_DOUBLE_NAN;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user