diff --git a/mtr/basic/r/type_decimal.result b/mtr/basic/r/type_decimal.result new file mode 100644 index 000000000..a1c593ca9 --- /dev/null +++ b/mtr/basic/r/type_decimal.result @@ -0,0 +1,3549 @@ +# +# MCOL-4531 New string-to-decimal conversion implementation +# +# Garbage at various places of the grammar +CREATE TABLE t1 (a VARCHAR(128)); +INSERT INTO t1 VALUES +(' '), +(' garbage'), +('garbage'); +INSERT INTO t1 VALUES +('+garbage'), +('-garbage'), +('1garbage'), +('+1garbage'), +('-1garbage'); +INSERT INTO t1 VALUES +('1garbage'), +('1egarbage'), +('1Egarbage'), +('1e+garbage'), +('1E-garbage'), +('1e+0garbage'), +('1E-0garbage'); +INSERT INTO t1 VALUES +('1.garbage'), +('1.1garbage'); +INSERT INTO t1 VALUES +('.garbage'), +('.1garbage'); +SELECT CAST(a AS DECIMAL(20,2)), a FROM t1; +CAST(a AS DECIMAL(20,2)) a +0.00 +0.00 garbage +0.00 garbage +0.00 +garbage +0.00 -garbage +1.00 1garbage +1.00 +1garbage +-1.00 -1garbage +1.00 1garbage +1.00 1egarbage +1.00 1Egarbage +1.00 1e+garbage +1.00 1E-garbage +1.00 1e+0garbage +1.00 1E-0garbage +1.00 1.garbage +1.10 1.1garbage +0.00 .garbage +0.10 .1garbage +DROP TABLE t1; +# Testing various mantissa values +CREATE TABLE t1 (a VARCHAR(128)); +BEGIN; +FOR i IN 1..40 DO +INSERT INTO t1 VALUES (REPEAT('9',i)); +INSERT INTO t1 VALUES (REPEAT('8',i)); +INSERT INTO t1 VALUES (REPEAT('7',i)); +INSERT INTO t1 VALUES (REPEAT('6',i)); +INSERT INTO t1 VALUES (REPEAT('5',i)); +INSERT INTO t1 VALUES (REPEAT('4',i)); +INSERT INTO t1 VALUES (REPEAT('3',i)); +INSERT INTO t1 VALUES (REPEAT('2',i)); +INSERT INTO t1 VALUES (REPEAT('1',i)); +END FOR; +$$ +COMMIT; +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(a AS DECIMAL(38,2)) +1 1 1.00 +1 2 2.00 +1 3 3.00 +1 4 4.00 +1 5 5.00 +1 6 6.00 +1 7 7.00 +1 8 8.00 +1 9 9.00 +2 11 11.00 +2 22 22.00 +2 33 33.00 +2 44 44.00 +2 55 55.00 +2 66 66.00 +2 77 77.00 +2 88 88.00 +2 99 99.00 +3 111 111.00 +3 222 222.00 +3 333 333.00 +3 444 444.00 +3 555 555.00 +3 666 666.00 +3 777 777.00 +3 888 888.00 +3 999 999.00 +4 1111 1111.00 +4 2222 2222.00 +4 3333 3333.00 +4 4444 4444.00 +4 5555 5555.00 +4 6666 6666.00 +4 7777 7777.00 +4 8888 8888.00 +4 9999 9999.00 +5 11111 11111.00 +5 22222 22222.00 +5 33333 33333.00 +5 44444 44444.00 +5 55555 55555.00 +5 66666 66666.00 +5 77777 77777.00 +5 88888 88888.00 +5 99999 99999.00 +6 111111 111111.00 +6 222222 222222.00 +6 333333 333333.00 +6 444444 444444.00 +6 555555 555555.00 +6 666666 666666.00 +6 777777 777777.00 +6 888888 888888.00 +6 999999 999999.00 +7 1111111 1111111.00 +7 2222222 2222222.00 +7 3333333 3333333.00 +7 4444444 4444444.00 +7 5555555 5555555.00 +7 6666666 6666666.00 +7 7777777 7777777.00 +7 8888888 8888888.00 +7 9999999 9999999.00 +8 11111111 11111111.00 +8 22222222 22222222.00 +8 33333333 33333333.00 +8 44444444 44444444.00 +8 55555555 55555555.00 +8 66666666 66666666.00 +8 77777777 77777777.00 +8 88888888 88888888.00 +8 99999999 99999999.00 +9 111111111 111111111.00 +9 222222222 222222222.00 +9 333333333 333333333.00 +9 444444444 444444444.00 +9 555555555 555555555.00 +9 666666666 666666666.00 +9 777777777 777777777.00 +9 888888888 888888888.00 +9 999999999 999999999.00 +10 1111111111 1111111111.00 +10 2222222222 2222222222.00 +10 3333333333 3333333333.00 +10 4444444444 4444444444.00 +10 5555555555 5555555555.00 +10 6666666666 6666666666.00 +10 7777777777 7777777777.00 +10 8888888888 8888888888.00 +10 9999999999 9999999999.00 +11 11111111111 11111111111.00 +11 22222222222 22222222222.00 +11 33333333333 33333333333.00 +11 44444444444 44444444444.00 +11 55555555555 55555555555.00 +11 66666666666 66666666666.00 +11 77777777777 77777777777.00 +11 88888888888 88888888888.00 +11 99999999999 99999999999.00 +12 111111111111 111111111111.00 +12 222222222222 222222222222.00 +12 333333333333 333333333333.00 +12 444444444444 444444444444.00 +12 555555555555 555555555555.00 +12 666666666666 666666666666.00 +12 777777777777 777777777777.00 +12 888888888888 888888888888.00 +12 999999999999 999999999999.00 +13 1111111111111 1111111111111.00 +13 2222222222222 2222222222222.00 +13 3333333333333 3333333333333.00 +13 4444444444444 4444444444444.00 +13 5555555555555 5555555555555.00 +13 6666666666666 6666666666666.00 +13 7777777777777 7777777777777.00 +13 8888888888888 8888888888888.00 +13 9999999999999 9999999999999.00 +14 11111111111111 11111111111111.00 +14 22222222222222 22222222222222.00 +14 33333333333333 33333333333333.00 +14 44444444444444 44444444444444.00 +14 55555555555555 55555555555555.00 +14 66666666666666 66666666666666.00 +14 77777777777777 77777777777777.00 +14 88888888888888 88888888888888.00 +14 99999999999999 99999999999999.00 +15 111111111111111 111111111111111.00 +15 222222222222222 222222222222222.00 +15 333333333333333 333333333333333.00 +15 444444444444444 444444444444444.00 +15 555555555555555 555555555555555.00 +15 666666666666666 666666666666666.00 +15 777777777777777 777777777777777.00 +15 888888888888888 888888888888888.00 +15 999999999999999 999999999999999.00 +16 1111111111111111 1111111111111111.00 +16 2222222222222222 2222222222222222.00 +16 3333333333333333 3333333333333333.00 +16 4444444444444444 4444444444444444.00 +16 5555555555555555 5555555555555555.00 +16 6666666666666666 6666666666666666.00 +16 7777777777777777 7777777777777777.00 +16 8888888888888888 8888888888888888.00 +16 9999999999999999 9999999999999999.00 +17 11111111111111111 11111111111111111.00 +17 22222222222222222 22222222222222222.00 +17 33333333333333333 33333333333333333.00 +17 44444444444444444 44444444444444444.00 +17 55555555555555555 55555555555555555.00 +17 66666666666666666 66666666666666666.00 +17 77777777777777777 77777777777777777.00 +17 88888888888888888 88888888888888888.00 +17 99999999999999999 99999999999999999.00 +18 111111111111111111 111111111111111111.00 +18 222222222222222222 222222222222222222.00 +18 333333333333333333 333333333333333333.00 +18 444444444444444444 444444444444444444.00 +18 555555555555555555 555555555555555555.00 +18 666666666666666666 666666666666666666.00 +18 777777777777777777 777777777777777777.00 +18 888888888888888888 888888888888888888.00 +18 999999999999999999 999999999999999999.00 +19 1111111111111111111 1111111111111111111.00 +19 2222222222222222222 2222222222222222222.00 +19 3333333333333333333 3333333333333333333.00 +19 4444444444444444444 4444444444444444444.00 +19 5555555555555555555 5555555555555555555.00 +19 6666666666666666666 6666666666666666666.00 +19 7777777777777777777 7777777777777777777.00 +19 8888888888888888888 8888888888888888888.00 +19 9999999999999999999 9999999999999999999.00 +20 11111111111111111111 11111111111111111111.00 +20 22222222222222222222 22222222222222222222.00 +20 33333333333333333333 33333333333333333333.00 +20 44444444444444444444 44444444444444444444.00 +20 55555555555555555555 55555555555555555555.00 +20 66666666666666666666 66666666666666666666.00 +20 77777777777777777777 77777777777777777777.00 +20 88888888888888888888 88888888888888888888.00 +20 99999999999999999999 99999999999999999999.00 +21 111111111111111111111 111111111111111111111.00 +21 222222222222222222222 222222222222222222222.00 +21 333333333333333333333 333333333333333333333.00 +21 444444444444444444444 444444444444444444444.00 +21 555555555555555555555 555555555555555555555.00 +21 666666666666666666666 666666666666666666666.00 +21 777777777777777777777 777777777777777777777.00 +21 888888888888888888888 888888888888888888888.00 +21 999999999999999999999 999999999999999999999.00 +22 1111111111111111111111 1111111111111111111111.00 +22 2222222222222222222222 2222222222222222222222.00 +22 3333333333333333333333 3333333333333333333333.00 +22 4444444444444444444444 4444444444444444444444.00 +22 5555555555555555555555 5555555555555555555555.00 +22 6666666666666666666666 6666666666666666666666.00 +22 7777777777777777777777 7777777777777777777777.00 +22 8888888888888888888888 8888888888888888888888.00 +22 9999999999999999999999 9999999999999999999999.00 +23 11111111111111111111111 11111111111111111111111.00 +23 22222222222222222222222 22222222222222222222222.00 +23 33333333333333333333333 33333333333333333333333.00 +23 44444444444444444444444 44444444444444444444444.00 +23 55555555555555555555555 55555555555555555555555.00 +23 66666666666666666666666 66666666666666666666666.00 +23 77777777777777777777777 77777777777777777777777.00 +23 88888888888888888888888 88888888888888888888888.00 +23 99999999999999999999999 99999999999999999999999.00 +24 111111111111111111111111 111111111111111111111111.00 +24 222222222222222222222222 222222222222222222222222.00 +24 333333333333333333333333 333333333333333333333333.00 +24 444444444444444444444444 444444444444444444444444.00 +24 555555555555555555555555 555555555555555555555555.00 +24 666666666666666666666666 666666666666666666666666.00 +24 777777777777777777777777 777777777777777777777777.00 +24 888888888888888888888888 888888888888888888888888.00 +24 999999999999999999999999 999999999999999999999999.00 +25 1111111111111111111111111 1111111111111111111111111.00 +25 2222222222222222222222222 2222222222222222222222222.00 +25 3333333333333333333333333 3333333333333333333333333.00 +25 4444444444444444444444444 4444444444444444444444444.00 +25 5555555555555555555555555 5555555555555555555555555.00 +25 6666666666666666666666666 6666666666666666666666666.00 +25 7777777777777777777777777 7777777777777777777777777.00 +25 8888888888888888888888888 8888888888888888888888888.00 +25 9999999999999999999999999 9999999999999999999999999.00 +26 11111111111111111111111111 11111111111111111111111111.00 +26 22222222222222222222222222 22222222222222222222222222.00 +26 33333333333333333333333333 33333333333333333333333333.00 +26 44444444444444444444444444 44444444444444444444444444.00 +26 55555555555555555555555555 55555555555555555555555555.00 +26 66666666666666666666666666 66666666666666666666666666.00 +26 77777777777777777777777777 77777777777777777777777777.00 +26 88888888888888888888888888 88888888888888888888888888.00 +26 99999999999999999999999999 99999999999999999999999999.00 +27 111111111111111111111111111 111111111111111111111111111.00 +27 222222222222222222222222222 222222222222222222222222222.00 +27 333333333333333333333333333 333333333333333333333333333.00 +27 444444444444444444444444444 444444444444444444444444444.00 +27 555555555555555555555555555 555555555555555555555555555.00 +27 666666666666666666666666666 666666666666666666666666666.00 +27 777777777777777777777777777 777777777777777777777777777.00 +27 888888888888888888888888888 888888888888888888888888888.00 +27 999999999999999999999999999 999999999999999999999999999.00 +28 1111111111111111111111111111 1111111111111111111111111111.00 +28 2222222222222222222222222222 2222222222222222222222222222.00 +28 3333333333333333333333333333 3333333333333333333333333333.00 +28 4444444444444444444444444444 4444444444444444444444444444.00 +28 5555555555555555555555555555 5555555555555555555555555555.00 +28 6666666666666666666666666666 6666666666666666666666666666.00 +28 7777777777777777777777777777 7777777777777777777777777777.00 +28 8888888888888888888888888888 8888888888888888888888888888.00 +28 9999999999999999999999999999 9999999999999999999999999999.00 +29 11111111111111111111111111111 11111111111111111111111111111.00 +29 22222222222222222222222222222 22222222222222222222222222222.00 +29 33333333333333333333333333333 33333333333333333333333333333.00 +29 44444444444444444444444444444 44444444444444444444444444444.00 +29 55555555555555555555555555555 55555555555555555555555555555.00 +29 66666666666666666666666666666 66666666666666666666666666666.00 +29 77777777777777777777777777777 77777777777777777777777777777.00 +29 88888888888888888888888888888 88888888888888888888888888888.00 +29 99999999999999999999999999999 99999999999999999999999999999.00 +30 111111111111111111111111111111 111111111111111111111111111111.00 +30 222222222222222222222222222222 222222222222222222222222222222.00 +30 333333333333333333333333333333 333333333333333333333333333333.00 +30 444444444444444444444444444444 444444444444444444444444444444.00 +30 555555555555555555555555555555 555555555555555555555555555555.00 +30 666666666666666666666666666666 666666666666666666666666666666.00 +30 777777777777777777777777777777 777777777777777777777777777777.00 +30 888888888888888888888888888888 888888888888888888888888888888.00 +30 999999999999999999999999999999 999999999999999999999999999999.00 +31 1111111111111111111111111111111 1111111111111111111111111111111.00 +31 2222222222222222222222222222222 2222222222222222222222222222222.00 +31 3333333333333333333333333333333 3333333333333333333333333333333.00 +31 4444444444444444444444444444444 4444444444444444444444444444444.00 +31 5555555555555555555555555555555 5555555555555555555555555555555.00 +31 6666666666666666666666666666666 6666666666666666666666666666666.00 +31 7777777777777777777777777777777 7777777777777777777777777777777.00 +31 8888888888888888888888888888888 8888888888888888888888888888888.00 +31 9999999999999999999999999999999 9999999999999999999999999999999.00 +32 11111111111111111111111111111111 11111111111111111111111111111111.00 +32 22222222222222222222222222222222 22222222222222222222222222222222.00 +32 33333333333333333333333333333333 33333333333333333333333333333333.00 +32 44444444444444444444444444444444 44444444444444444444444444444444.00 +32 55555555555555555555555555555555 55555555555555555555555555555555.00 +32 66666666666666666666666666666666 66666666666666666666666666666666.00 +32 77777777777777777777777777777777 77777777777777777777777777777777.00 +32 88888888888888888888888888888888 88888888888888888888888888888888.00 +32 99999999999999999999999999999999 99999999999999999999999999999999.00 +33 111111111111111111111111111111111 111111111111111111111111111111111.00 +33 222222222222222222222222222222222 222222222222222222222222222222222.00 +33 333333333333333333333333333333333 333333333333333333333333333333333.00 +33 444444444444444444444444444444444 444444444444444444444444444444444.00 +33 555555555555555555555555555555555 555555555555555555555555555555555.00 +33 666666666666666666666666666666666 666666666666666666666666666666666.00 +33 777777777777777777777777777777777 777777777777777777777777777777777.00 +33 888888888888888888888888888888888 888888888888888888888888888888888.00 +33 999999999999999999999999999999999 999999999999999999999999999999999.00 +34 1111111111111111111111111111111111 1111111111111111111111111111111111.00 +34 2222222222222222222222222222222222 2222222222222222222222222222222222.00 +34 3333333333333333333333333333333333 3333333333333333333333333333333333.00 +34 4444444444444444444444444444444444 4444444444444444444444444444444444.00 +34 5555555555555555555555555555555555 5555555555555555555555555555555555.00 +34 6666666666666666666666666666666666 6666666666666666666666666666666666.00 +34 7777777777777777777777777777777777 7777777777777777777777777777777777.00 +34 8888888888888888888888888888888888 8888888888888888888888888888888888.00 +34 9999999999999999999999999999999999 9999999999999999999999999999999999.00 +35 11111111111111111111111111111111111 11111111111111111111111111111111111.00 +35 22222222222222222222222222222222222 22222222222222222222222222222222222.00 +35 33333333333333333333333333333333333 33333333333333333333333333333333333.00 +35 44444444444444444444444444444444444 44444444444444444444444444444444444.00 +35 55555555555555555555555555555555555 55555555555555555555555555555555555.00 +35 66666666666666666666666666666666666 66666666666666666666666666666666666.00 +35 77777777777777777777777777777777777 77777777777777777777777777777777777.00 +35 88888888888888888888888888888888888 88888888888888888888888888888888888.00 +35 99999999999999999999999999999999999 99999999999999999999999999999999999.00 +36 111111111111111111111111111111111111 111111111111111111111111111111111111.00 +36 222222222222222222222222222222222222 222222222222222222222222222222222222.00 +36 333333333333333333333333333333333333 333333333333333333333333333333333333.00 +36 444444444444444444444444444444444444 444444444444444444444444444444444444.00 +36 555555555555555555555555555555555555 555555555555555555555555555555555555.00 +36 666666666666666666666666666666666666 666666666666666666666666666666666666.00 +36 777777777777777777777777777777777777 777777777777777777777777777777777777.00 +36 888888888888888888888888888888888888 888888888888888888888888888888888888.00 +36 999999999999999999999999999999999999 999999999999999999999999999999999999.00 +37 1111111111111111111111111111111111111 999999999999999999999999999999999999.99 +37 2222222222222222222222222222222222222 999999999999999999999999999999999999.99 +37 3333333333333333333333333333333333333 999999999999999999999999999999999999.99 +37 4444444444444444444444444444444444444 999999999999999999999999999999999999.99 +37 5555555555555555555555555555555555555 999999999999999999999999999999999999.99 +37 6666666666666666666666666666666666666 999999999999999999999999999999999999.99 +37 7777777777777777777777777777777777777 999999999999999999999999999999999999.99 +37 8888888888888888888888888888888888888 999999999999999999999999999999999999.99 +37 9999999999999999999999999999999999999 999999999999999999999999999999999999.99 +38 11111111111111111111111111111111111111 999999999999999999999999999999999999.99 +38 22222222222222222222222222222222222222 999999999999999999999999999999999999.99 +38 33333333333333333333333333333333333333 999999999999999999999999999999999999.99 +38 44444444444444444444444444444444444444 999999999999999999999999999999999999.99 +38 55555555555555555555555555555555555555 999999999999999999999999999999999999.99 +38 66666666666666666666666666666666666666 999999999999999999999999999999999999.99 +38 77777777777777777777777777777777777777 999999999999999999999999999999999999.99 +38 88888888888888888888888888888888888888 999999999999999999999999999999999999.99 +38 99999999999999999999999999999999999999 999999999999999999999999999999999999.99 +39 111111111111111111111111111111111111111 999999999999999999999999999999999999.99 +39 222222222222222222222222222222222222222 999999999999999999999999999999999999.99 +39 333333333333333333333333333333333333333 999999999999999999999999999999999999.99 +39 444444444444444444444444444444444444444 999999999999999999999999999999999999.99 +39 555555555555555555555555555555555555555 999999999999999999999999999999999999.99 +39 666666666666666666666666666666666666666 999999999999999999999999999999999999.99 +39 777777777777777777777777777777777777777 999999999999999999999999999999999999.99 +39 888888888888888888888888888888888888888 999999999999999999999999999999999999.99 +39 999999999999999999999999999999999999999 999999999999999999999999999999999999.99 +40 1111111111111111111111111111111111111111 999999999999999999999999999999999999.99 +40 2222222222222222222222222222222222222222 999999999999999999999999999999999999.99 +40 3333333333333333333333333333333333333333 999999999999999999999999999999999999.99 +40 4444444444444444444444444444444444444444 999999999999999999999999999999999999.99 +40 5555555555555555555555555555555555555555 999999999999999999999999999999999999.99 +40 6666666666666666666666666666666666666666 999999999999999999999999999999999999.99 +40 7777777777777777777777777777777777777777 999999999999999999999999999999999999.99 +40 8888888888888888888888888888888888888888 999999999999999999999999999999999999.99 +40 9999999999999999999999999999999999999999 999999999999999999999999999999999999.99 +SELECT LENGTH(a), a, CAST(CONCAT('+',a) AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(CONCAT('+',a) AS DECIMAL(38,2)) +1 1 1.00 +1 2 2.00 +1 3 3.00 +1 4 4.00 +1 5 5.00 +1 6 6.00 +1 7 7.00 +1 8 8.00 +1 9 9.00 +2 11 11.00 +2 22 22.00 +2 33 33.00 +2 44 44.00 +2 55 55.00 +2 66 66.00 +2 77 77.00 +2 88 88.00 +2 99 99.00 +3 111 111.00 +3 222 222.00 +3 333 333.00 +3 444 444.00 +3 555 555.00 +3 666 666.00 +3 777 777.00 +3 888 888.00 +3 999 999.00 +4 1111 1111.00 +4 2222 2222.00 +4 3333 3333.00 +4 4444 4444.00 +4 5555 5555.00 +4 6666 6666.00 +4 7777 7777.00 +4 8888 8888.00 +4 9999 9999.00 +5 11111 11111.00 +5 22222 22222.00 +5 33333 33333.00 +5 44444 44444.00 +5 55555 55555.00 +5 66666 66666.00 +5 77777 77777.00 +5 88888 88888.00 +5 99999 99999.00 +6 111111 111111.00 +6 222222 222222.00 +6 333333 333333.00 +6 444444 444444.00 +6 555555 555555.00 +6 666666 666666.00 +6 777777 777777.00 +6 888888 888888.00 +6 999999 999999.00 +7 1111111 1111111.00 +7 2222222 2222222.00 +7 3333333 3333333.00 +7 4444444 4444444.00 +7 5555555 5555555.00 +7 6666666 6666666.00 +7 7777777 7777777.00 +7 8888888 8888888.00 +7 9999999 9999999.00 +8 11111111 11111111.00 +8 22222222 22222222.00 +8 33333333 33333333.00 +8 44444444 44444444.00 +8 55555555 55555555.00 +8 66666666 66666666.00 +8 77777777 77777777.00 +8 88888888 88888888.00 +8 99999999 99999999.00 +9 111111111 111111111.00 +9 222222222 222222222.00 +9 333333333 333333333.00 +9 444444444 444444444.00 +9 555555555 555555555.00 +9 666666666 666666666.00 +9 777777777 777777777.00 +9 888888888 888888888.00 +9 999999999 999999999.00 +10 1111111111 1111111111.00 +10 2222222222 2222222222.00 +10 3333333333 3333333333.00 +10 4444444444 4444444444.00 +10 5555555555 5555555555.00 +10 6666666666 6666666666.00 +10 7777777777 7777777777.00 +10 8888888888 8888888888.00 +10 9999999999 9999999999.00 +11 11111111111 11111111111.00 +11 22222222222 22222222222.00 +11 33333333333 33333333333.00 +11 44444444444 44444444444.00 +11 55555555555 55555555555.00 +11 66666666666 66666666666.00 +11 77777777777 77777777777.00 +11 88888888888 88888888888.00 +11 99999999999 99999999999.00 +12 111111111111 111111111111.00 +12 222222222222 222222222222.00 +12 333333333333 333333333333.00 +12 444444444444 444444444444.00 +12 555555555555 555555555555.00 +12 666666666666 666666666666.00 +12 777777777777 777777777777.00 +12 888888888888 888888888888.00 +12 999999999999 999999999999.00 +13 1111111111111 1111111111111.00 +13 2222222222222 2222222222222.00 +13 3333333333333 3333333333333.00 +13 4444444444444 4444444444444.00 +13 5555555555555 5555555555555.00 +13 6666666666666 6666666666666.00 +13 7777777777777 7777777777777.00 +13 8888888888888 8888888888888.00 +13 9999999999999 9999999999999.00 +14 11111111111111 11111111111111.00 +14 22222222222222 22222222222222.00 +14 33333333333333 33333333333333.00 +14 44444444444444 44444444444444.00 +14 55555555555555 55555555555555.00 +14 66666666666666 66666666666666.00 +14 77777777777777 77777777777777.00 +14 88888888888888 88888888888888.00 +14 99999999999999 99999999999999.00 +15 111111111111111 111111111111111.00 +15 222222222222222 222222222222222.00 +15 333333333333333 333333333333333.00 +15 444444444444444 444444444444444.00 +15 555555555555555 555555555555555.00 +15 666666666666666 666666666666666.00 +15 777777777777777 777777777777777.00 +15 888888888888888 888888888888888.00 +15 999999999999999 999999999999999.00 +16 1111111111111111 1111111111111111.00 +16 2222222222222222 2222222222222222.00 +16 3333333333333333 3333333333333333.00 +16 4444444444444444 4444444444444444.00 +16 5555555555555555 5555555555555555.00 +16 6666666666666666 6666666666666666.00 +16 7777777777777777 7777777777777777.00 +16 8888888888888888 8888888888888888.00 +16 9999999999999999 9999999999999999.00 +17 11111111111111111 11111111111111111.00 +17 22222222222222222 22222222222222222.00 +17 33333333333333333 33333333333333333.00 +17 44444444444444444 44444444444444444.00 +17 55555555555555555 55555555555555555.00 +17 66666666666666666 66666666666666666.00 +17 77777777777777777 77777777777777777.00 +17 88888888888888888 88888888888888888.00 +17 99999999999999999 99999999999999999.00 +18 111111111111111111 111111111111111111.00 +18 222222222222222222 222222222222222222.00 +18 333333333333333333 333333333333333333.00 +18 444444444444444444 444444444444444444.00 +18 555555555555555555 555555555555555555.00 +18 666666666666666666 666666666666666666.00 +18 777777777777777777 777777777777777777.00 +18 888888888888888888 888888888888888888.00 +18 999999999999999999 999999999999999999.00 +19 1111111111111111111 1111111111111111111.00 +19 2222222222222222222 2222222222222222222.00 +19 3333333333333333333 3333333333333333333.00 +19 4444444444444444444 4444444444444444444.00 +19 5555555555555555555 5555555555555555555.00 +19 6666666666666666666 6666666666666666666.00 +19 7777777777777777777 7777777777777777777.00 +19 8888888888888888888 8888888888888888888.00 +19 9999999999999999999 9999999999999999999.00 +20 11111111111111111111 11111111111111111111.00 +20 22222222222222222222 22222222222222222222.00 +20 33333333333333333333 33333333333333333333.00 +20 44444444444444444444 44444444444444444444.00 +20 55555555555555555555 55555555555555555555.00 +20 66666666666666666666 66666666666666666666.00 +20 77777777777777777777 77777777777777777777.00 +20 88888888888888888888 88888888888888888888.00 +20 99999999999999999999 99999999999999999999.00 +21 111111111111111111111 111111111111111111111.00 +21 222222222222222222222 222222222222222222222.00 +21 333333333333333333333 333333333333333333333.00 +21 444444444444444444444 444444444444444444444.00 +21 555555555555555555555 555555555555555555555.00 +21 666666666666666666666 666666666666666666666.00 +21 777777777777777777777 777777777777777777777.00 +21 888888888888888888888 888888888888888888888.00 +21 999999999999999999999 999999999999999999999.00 +22 1111111111111111111111 1111111111111111111111.00 +22 2222222222222222222222 2222222222222222222222.00 +22 3333333333333333333333 3333333333333333333333.00 +22 4444444444444444444444 4444444444444444444444.00 +22 5555555555555555555555 5555555555555555555555.00 +22 6666666666666666666666 6666666666666666666666.00 +22 7777777777777777777777 7777777777777777777777.00 +22 8888888888888888888888 8888888888888888888888.00 +22 9999999999999999999999 9999999999999999999999.00 +23 11111111111111111111111 11111111111111111111111.00 +23 22222222222222222222222 22222222222222222222222.00 +23 33333333333333333333333 33333333333333333333333.00 +23 44444444444444444444444 44444444444444444444444.00 +23 55555555555555555555555 55555555555555555555555.00 +23 66666666666666666666666 66666666666666666666666.00 +23 77777777777777777777777 77777777777777777777777.00 +23 88888888888888888888888 88888888888888888888888.00 +23 99999999999999999999999 99999999999999999999999.00 +24 111111111111111111111111 111111111111111111111111.00 +24 222222222222222222222222 222222222222222222222222.00 +24 333333333333333333333333 333333333333333333333333.00 +24 444444444444444444444444 444444444444444444444444.00 +24 555555555555555555555555 555555555555555555555555.00 +24 666666666666666666666666 666666666666666666666666.00 +24 777777777777777777777777 777777777777777777777777.00 +24 888888888888888888888888 888888888888888888888888.00 +24 999999999999999999999999 999999999999999999999999.00 +25 1111111111111111111111111 1111111111111111111111111.00 +25 2222222222222222222222222 2222222222222222222222222.00 +25 3333333333333333333333333 3333333333333333333333333.00 +25 4444444444444444444444444 4444444444444444444444444.00 +25 5555555555555555555555555 5555555555555555555555555.00 +25 6666666666666666666666666 6666666666666666666666666.00 +25 7777777777777777777777777 7777777777777777777777777.00 +25 8888888888888888888888888 8888888888888888888888888.00 +25 9999999999999999999999999 9999999999999999999999999.00 +26 11111111111111111111111111 11111111111111111111111111.00 +26 22222222222222222222222222 22222222222222222222222222.00 +26 33333333333333333333333333 33333333333333333333333333.00 +26 44444444444444444444444444 44444444444444444444444444.00 +26 55555555555555555555555555 55555555555555555555555555.00 +26 66666666666666666666666666 66666666666666666666666666.00 +26 77777777777777777777777777 77777777777777777777777777.00 +26 88888888888888888888888888 88888888888888888888888888.00 +26 99999999999999999999999999 99999999999999999999999999.00 +27 111111111111111111111111111 111111111111111111111111111.00 +27 222222222222222222222222222 222222222222222222222222222.00 +27 333333333333333333333333333 333333333333333333333333333.00 +27 444444444444444444444444444 444444444444444444444444444.00 +27 555555555555555555555555555 555555555555555555555555555.00 +27 666666666666666666666666666 666666666666666666666666666.00 +27 777777777777777777777777777 777777777777777777777777777.00 +27 888888888888888888888888888 888888888888888888888888888.00 +27 999999999999999999999999999 999999999999999999999999999.00 +28 1111111111111111111111111111 1111111111111111111111111111.00 +28 2222222222222222222222222222 2222222222222222222222222222.00 +28 3333333333333333333333333333 3333333333333333333333333333.00 +28 4444444444444444444444444444 4444444444444444444444444444.00 +28 5555555555555555555555555555 5555555555555555555555555555.00 +28 6666666666666666666666666666 6666666666666666666666666666.00 +28 7777777777777777777777777777 7777777777777777777777777777.00 +28 8888888888888888888888888888 8888888888888888888888888888.00 +28 9999999999999999999999999999 9999999999999999999999999999.00 +29 11111111111111111111111111111 11111111111111111111111111111.00 +29 22222222222222222222222222222 22222222222222222222222222222.00 +29 33333333333333333333333333333 33333333333333333333333333333.00 +29 44444444444444444444444444444 44444444444444444444444444444.00 +29 55555555555555555555555555555 55555555555555555555555555555.00 +29 66666666666666666666666666666 66666666666666666666666666666.00 +29 77777777777777777777777777777 77777777777777777777777777777.00 +29 88888888888888888888888888888 88888888888888888888888888888.00 +29 99999999999999999999999999999 99999999999999999999999999999.00 +30 111111111111111111111111111111 111111111111111111111111111111.00 +30 222222222222222222222222222222 222222222222222222222222222222.00 +30 333333333333333333333333333333 333333333333333333333333333333.00 +30 444444444444444444444444444444 444444444444444444444444444444.00 +30 555555555555555555555555555555 555555555555555555555555555555.00 +30 666666666666666666666666666666 666666666666666666666666666666.00 +30 777777777777777777777777777777 777777777777777777777777777777.00 +30 888888888888888888888888888888 888888888888888888888888888888.00 +30 999999999999999999999999999999 999999999999999999999999999999.00 +31 1111111111111111111111111111111 1111111111111111111111111111111.00 +31 2222222222222222222222222222222 2222222222222222222222222222222.00 +31 3333333333333333333333333333333 3333333333333333333333333333333.00 +31 4444444444444444444444444444444 4444444444444444444444444444444.00 +31 5555555555555555555555555555555 5555555555555555555555555555555.00 +31 6666666666666666666666666666666 6666666666666666666666666666666.00 +31 7777777777777777777777777777777 7777777777777777777777777777777.00 +31 8888888888888888888888888888888 8888888888888888888888888888888.00 +31 9999999999999999999999999999999 9999999999999999999999999999999.00 +32 11111111111111111111111111111111 11111111111111111111111111111111.00 +32 22222222222222222222222222222222 22222222222222222222222222222222.00 +32 33333333333333333333333333333333 33333333333333333333333333333333.00 +32 44444444444444444444444444444444 44444444444444444444444444444444.00 +32 55555555555555555555555555555555 55555555555555555555555555555555.00 +32 66666666666666666666666666666666 66666666666666666666666666666666.00 +32 77777777777777777777777777777777 77777777777777777777777777777777.00 +32 88888888888888888888888888888888 88888888888888888888888888888888.00 +32 99999999999999999999999999999999 99999999999999999999999999999999.00 +33 111111111111111111111111111111111 111111111111111111111111111111111.00 +33 222222222222222222222222222222222 222222222222222222222222222222222.00 +33 333333333333333333333333333333333 333333333333333333333333333333333.00 +33 444444444444444444444444444444444 444444444444444444444444444444444.00 +33 555555555555555555555555555555555 555555555555555555555555555555555.00 +33 666666666666666666666666666666666 666666666666666666666666666666666.00 +33 777777777777777777777777777777777 777777777777777777777777777777777.00 +33 888888888888888888888888888888888 888888888888888888888888888888888.00 +33 999999999999999999999999999999999 999999999999999999999999999999999.00 +34 1111111111111111111111111111111111 1111111111111111111111111111111111.00 +34 2222222222222222222222222222222222 2222222222222222222222222222222222.00 +34 3333333333333333333333333333333333 3333333333333333333333333333333333.00 +34 4444444444444444444444444444444444 4444444444444444444444444444444444.00 +34 5555555555555555555555555555555555 5555555555555555555555555555555555.00 +34 6666666666666666666666666666666666 6666666666666666666666666666666666.00 +34 7777777777777777777777777777777777 7777777777777777777777777777777777.00 +34 8888888888888888888888888888888888 8888888888888888888888888888888888.00 +34 9999999999999999999999999999999999 9999999999999999999999999999999999.00 +35 11111111111111111111111111111111111 11111111111111111111111111111111111.00 +35 22222222222222222222222222222222222 22222222222222222222222222222222222.00 +35 33333333333333333333333333333333333 33333333333333333333333333333333333.00 +35 44444444444444444444444444444444444 44444444444444444444444444444444444.00 +35 55555555555555555555555555555555555 55555555555555555555555555555555555.00 +35 66666666666666666666666666666666666 66666666666666666666666666666666666.00 +35 77777777777777777777777777777777777 77777777777777777777777777777777777.00 +35 88888888888888888888888888888888888 88888888888888888888888888888888888.00 +35 99999999999999999999999999999999999 99999999999999999999999999999999999.00 +36 111111111111111111111111111111111111 111111111111111111111111111111111111.00 +36 222222222222222222222222222222222222 222222222222222222222222222222222222.00 +36 333333333333333333333333333333333333 333333333333333333333333333333333333.00 +36 444444444444444444444444444444444444 444444444444444444444444444444444444.00 +36 555555555555555555555555555555555555 555555555555555555555555555555555555.00 +36 666666666666666666666666666666666666 666666666666666666666666666666666666.00 +36 777777777777777777777777777777777777 777777777777777777777777777777777777.00 +36 888888888888888888888888888888888888 888888888888888888888888888888888888.00 +36 999999999999999999999999999999999999 999999999999999999999999999999999999.00 +37 1111111111111111111111111111111111111 999999999999999999999999999999999999.99 +37 2222222222222222222222222222222222222 999999999999999999999999999999999999.99 +37 3333333333333333333333333333333333333 999999999999999999999999999999999999.99 +37 4444444444444444444444444444444444444 999999999999999999999999999999999999.99 +37 5555555555555555555555555555555555555 999999999999999999999999999999999999.99 +37 6666666666666666666666666666666666666 999999999999999999999999999999999999.99 +37 7777777777777777777777777777777777777 999999999999999999999999999999999999.99 +37 8888888888888888888888888888888888888 999999999999999999999999999999999999.99 +37 9999999999999999999999999999999999999 999999999999999999999999999999999999.99 +38 11111111111111111111111111111111111111 999999999999999999999999999999999999.99 +38 22222222222222222222222222222222222222 999999999999999999999999999999999999.99 +38 33333333333333333333333333333333333333 999999999999999999999999999999999999.99 +38 44444444444444444444444444444444444444 999999999999999999999999999999999999.99 +38 55555555555555555555555555555555555555 999999999999999999999999999999999999.99 +38 66666666666666666666666666666666666666 999999999999999999999999999999999999.99 +38 77777777777777777777777777777777777777 999999999999999999999999999999999999.99 +38 88888888888888888888888888888888888888 999999999999999999999999999999999999.99 +38 99999999999999999999999999999999999999 999999999999999999999999999999999999.99 +39 111111111111111111111111111111111111111 999999999999999999999999999999999999.99 +39 222222222222222222222222222222222222222 999999999999999999999999999999999999.99 +39 333333333333333333333333333333333333333 999999999999999999999999999999999999.99 +39 444444444444444444444444444444444444444 999999999999999999999999999999999999.99 +39 555555555555555555555555555555555555555 999999999999999999999999999999999999.99 +39 666666666666666666666666666666666666666 999999999999999999999999999999999999.99 +39 777777777777777777777777777777777777777 999999999999999999999999999999999999.99 +39 888888888888888888888888888888888888888 999999999999999999999999999999999999.99 +39 999999999999999999999999999999999999999 999999999999999999999999999999999999.99 +40 1111111111111111111111111111111111111111 999999999999999999999999999999999999.99 +40 2222222222222222222222222222222222222222 999999999999999999999999999999999999.99 +40 3333333333333333333333333333333333333333 999999999999999999999999999999999999.99 +40 4444444444444444444444444444444444444444 999999999999999999999999999999999999.99 +40 5555555555555555555555555555555555555555 999999999999999999999999999999999999.99 +40 6666666666666666666666666666666666666666 999999999999999999999999999999999999.99 +40 7777777777777777777777777777777777777777 999999999999999999999999999999999999.99 +40 8888888888888888888888888888888888888888 999999999999999999999999999999999999.99 +40 9999999999999999999999999999999999999999 999999999999999999999999999999999999.99 +SELECT LENGTH(a), a, CAST(CONCAT('-',a) AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(CONCAT('-',a) AS DECIMAL(38,2)) +1 1 -1.00 +1 2 -2.00 +1 3 -3.00 +1 4 -4.00 +1 5 -5.00 +1 6 -6.00 +1 7 -7.00 +1 8 -8.00 +1 9 -9.00 +2 11 -11.00 +2 22 -22.00 +2 33 -33.00 +2 44 -44.00 +2 55 -55.00 +2 66 -66.00 +2 77 -77.00 +2 88 -88.00 +2 99 -99.00 +3 111 -111.00 +3 222 -222.00 +3 333 -333.00 +3 444 -444.00 +3 555 -555.00 +3 666 -666.00 +3 777 -777.00 +3 888 -888.00 +3 999 -999.00 +4 1111 -1111.00 +4 2222 -2222.00 +4 3333 -3333.00 +4 4444 -4444.00 +4 5555 -5555.00 +4 6666 -6666.00 +4 7777 -7777.00 +4 8888 -8888.00 +4 9999 -9999.00 +5 11111 -11111.00 +5 22222 -22222.00 +5 33333 -33333.00 +5 44444 -44444.00 +5 55555 -55555.00 +5 66666 -66666.00 +5 77777 -77777.00 +5 88888 -88888.00 +5 99999 -99999.00 +6 111111 -111111.00 +6 222222 -222222.00 +6 333333 -333333.00 +6 444444 -444444.00 +6 555555 -555555.00 +6 666666 -666666.00 +6 777777 -777777.00 +6 888888 -888888.00 +6 999999 -999999.00 +7 1111111 -1111111.00 +7 2222222 -2222222.00 +7 3333333 -3333333.00 +7 4444444 -4444444.00 +7 5555555 -5555555.00 +7 6666666 -6666666.00 +7 7777777 -7777777.00 +7 8888888 -8888888.00 +7 9999999 -9999999.00 +8 11111111 -11111111.00 +8 22222222 -22222222.00 +8 33333333 -33333333.00 +8 44444444 -44444444.00 +8 55555555 -55555555.00 +8 66666666 -66666666.00 +8 77777777 -77777777.00 +8 88888888 -88888888.00 +8 99999999 -99999999.00 +9 111111111 -111111111.00 +9 222222222 -222222222.00 +9 333333333 -333333333.00 +9 444444444 -444444444.00 +9 555555555 -555555555.00 +9 666666666 -666666666.00 +9 777777777 -777777777.00 +9 888888888 -888888888.00 +9 999999999 -999999999.00 +10 1111111111 -1111111111.00 +10 2222222222 -2222222222.00 +10 3333333333 -3333333333.00 +10 4444444444 -4444444444.00 +10 5555555555 -5555555555.00 +10 6666666666 -6666666666.00 +10 7777777777 -7777777777.00 +10 8888888888 -8888888888.00 +10 9999999999 -9999999999.00 +11 11111111111 -11111111111.00 +11 22222222222 -22222222222.00 +11 33333333333 -33333333333.00 +11 44444444444 -44444444444.00 +11 55555555555 -55555555555.00 +11 66666666666 -66666666666.00 +11 77777777777 -77777777777.00 +11 88888888888 -88888888888.00 +11 99999999999 -99999999999.00 +12 111111111111 -111111111111.00 +12 222222222222 -222222222222.00 +12 333333333333 -333333333333.00 +12 444444444444 -444444444444.00 +12 555555555555 -555555555555.00 +12 666666666666 -666666666666.00 +12 777777777777 -777777777777.00 +12 888888888888 -888888888888.00 +12 999999999999 -999999999999.00 +13 1111111111111 -1111111111111.00 +13 2222222222222 -2222222222222.00 +13 3333333333333 -3333333333333.00 +13 4444444444444 -4444444444444.00 +13 5555555555555 -5555555555555.00 +13 6666666666666 -6666666666666.00 +13 7777777777777 -7777777777777.00 +13 8888888888888 -8888888888888.00 +13 9999999999999 -9999999999999.00 +14 11111111111111 -11111111111111.00 +14 22222222222222 -22222222222222.00 +14 33333333333333 -33333333333333.00 +14 44444444444444 -44444444444444.00 +14 55555555555555 -55555555555555.00 +14 66666666666666 -66666666666666.00 +14 77777777777777 -77777777777777.00 +14 88888888888888 -88888888888888.00 +14 99999999999999 -99999999999999.00 +15 111111111111111 -111111111111111.00 +15 222222222222222 -222222222222222.00 +15 333333333333333 -333333333333333.00 +15 444444444444444 -444444444444444.00 +15 555555555555555 -555555555555555.00 +15 666666666666666 -666666666666666.00 +15 777777777777777 -777777777777777.00 +15 888888888888888 -888888888888888.00 +15 999999999999999 -999999999999999.00 +16 1111111111111111 -1111111111111111.00 +16 2222222222222222 -2222222222222222.00 +16 3333333333333333 -3333333333333333.00 +16 4444444444444444 -4444444444444444.00 +16 5555555555555555 -5555555555555555.00 +16 6666666666666666 -6666666666666666.00 +16 7777777777777777 -7777777777777777.00 +16 8888888888888888 -8888888888888888.00 +16 9999999999999999 -9999999999999999.00 +17 11111111111111111 -11111111111111111.00 +17 22222222222222222 -22222222222222222.00 +17 33333333333333333 -33333333333333333.00 +17 44444444444444444 -44444444444444444.00 +17 55555555555555555 -55555555555555555.00 +17 66666666666666666 -66666666666666666.00 +17 77777777777777777 -77777777777777777.00 +17 88888888888888888 -88888888888888888.00 +17 99999999999999999 -99999999999999999.00 +18 111111111111111111 -111111111111111111.00 +18 222222222222222222 -222222222222222222.00 +18 333333333333333333 -333333333333333333.00 +18 444444444444444444 -444444444444444444.00 +18 555555555555555555 -555555555555555555.00 +18 666666666666666666 -666666666666666666.00 +18 777777777777777777 -777777777777777777.00 +18 888888888888888888 -888888888888888888.00 +18 999999999999999999 -999999999999999999.00 +19 1111111111111111111 -1111111111111111111.00 +19 2222222222222222222 -2222222222222222222.00 +19 3333333333333333333 -3333333333333333333.00 +19 4444444444444444444 -4444444444444444444.00 +19 5555555555555555555 -5555555555555555555.00 +19 6666666666666666666 -6666666666666666666.00 +19 7777777777777777777 -7777777777777777777.00 +19 8888888888888888888 -8888888888888888888.00 +19 9999999999999999999 -9999999999999999999.00 +20 11111111111111111111 -11111111111111111111.00 +20 22222222222222222222 -22222222222222222222.00 +20 33333333333333333333 -33333333333333333333.00 +20 44444444444444444444 -44444444444444444444.00 +20 55555555555555555555 -55555555555555555555.00 +20 66666666666666666666 -66666666666666666666.00 +20 77777777777777777777 -77777777777777777777.00 +20 88888888888888888888 -88888888888888888888.00 +20 99999999999999999999 -99999999999999999999.00 +21 111111111111111111111 -111111111111111111111.00 +21 222222222222222222222 -222222222222222222222.00 +21 333333333333333333333 -333333333333333333333.00 +21 444444444444444444444 -444444444444444444444.00 +21 555555555555555555555 -555555555555555555555.00 +21 666666666666666666666 -666666666666666666666.00 +21 777777777777777777777 -777777777777777777777.00 +21 888888888888888888888 -888888888888888888888.00 +21 999999999999999999999 -999999999999999999999.00 +22 1111111111111111111111 -1111111111111111111111.00 +22 2222222222222222222222 -2222222222222222222222.00 +22 3333333333333333333333 -3333333333333333333333.00 +22 4444444444444444444444 -4444444444444444444444.00 +22 5555555555555555555555 -5555555555555555555555.00 +22 6666666666666666666666 -6666666666666666666666.00 +22 7777777777777777777777 -7777777777777777777777.00 +22 8888888888888888888888 -8888888888888888888888.00 +22 9999999999999999999999 -9999999999999999999999.00 +23 11111111111111111111111 -11111111111111111111111.00 +23 22222222222222222222222 -22222222222222222222222.00 +23 33333333333333333333333 -33333333333333333333333.00 +23 44444444444444444444444 -44444444444444444444444.00 +23 55555555555555555555555 -55555555555555555555555.00 +23 66666666666666666666666 -66666666666666666666666.00 +23 77777777777777777777777 -77777777777777777777777.00 +23 88888888888888888888888 -88888888888888888888888.00 +23 99999999999999999999999 -99999999999999999999999.00 +24 111111111111111111111111 -111111111111111111111111.00 +24 222222222222222222222222 -222222222222222222222222.00 +24 333333333333333333333333 -333333333333333333333333.00 +24 444444444444444444444444 -444444444444444444444444.00 +24 555555555555555555555555 -555555555555555555555555.00 +24 666666666666666666666666 -666666666666666666666666.00 +24 777777777777777777777777 -777777777777777777777777.00 +24 888888888888888888888888 -888888888888888888888888.00 +24 999999999999999999999999 -999999999999999999999999.00 +25 1111111111111111111111111 -1111111111111111111111111.00 +25 2222222222222222222222222 -2222222222222222222222222.00 +25 3333333333333333333333333 -3333333333333333333333333.00 +25 4444444444444444444444444 -4444444444444444444444444.00 +25 5555555555555555555555555 -5555555555555555555555555.00 +25 6666666666666666666666666 -6666666666666666666666666.00 +25 7777777777777777777777777 -7777777777777777777777777.00 +25 8888888888888888888888888 -8888888888888888888888888.00 +25 9999999999999999999999999 -9999999999999999999999999.00 +26 11111111111111111111111111 -11111111111111111111111111.00 +26 22222222222222222222222222 -22222222222222222222222222.00 +26 33333333333333333333333333 -33333333333333333333333333.00 +26 44444444444444444444444444 -44444444444444444444444444.00 +26 55555555555555555555555555 -55555555555555555555555555.00 +26 66666666666666666666666666 -66666666666666666666666666.00 +26 77777777777777777777777777 -77777777777777777777777777.00 +26 88888888888888888888888888 -88888888888888888888888888.00 +26 99999999999999999999999999 -99999999999999999999999999.00 +27 111111111111111111111111111 -111111111111111111111111111.00 +27 222222222222222222222222222 -222222222222222222222222222.00 +27 333333333333333333333333333 -333333333333333333333333333.00 +27 444444444444444444444444444 -444444444444444444444444444.00 +27 555555555555555555555555555 -555555555555555555555555555.00 +27 666666666666666666666666666 -666666666666666666666666666.00 +27 777777777777777777777777777 -777777777777777777777777777.00 +27 888888888888888888888888888 -888888888888888888888888888.00 +27 999999999999999999999999999 -999999999999999999999999999.00 +28 1111111111111111111111111111 -1111111111111111111111111111.00 +28 2222222222222222222222222222 -2222222222222222222222222222.00 +28 3333333333333333333333333333 -3333333333333333333333333333.00 +28 4444444444444444444444444444 -4444444444444444444444444444.00 +28 5555555555555555555555555555 -5555555555555555555555555555.00 +28 6666666666666666666666666666 -6666666666666666666666666666.00 +28 7777777777777777777777777777 -7777777777777777777777777777.00 +28 8888888888888888888888888888 -8888888888888888888888888888.00 +28 9999999999999999999999999999 -9999999999999999999999999999.00 +29 11111111111111111111111111111 -11111111111111111111111111111.00 +29 22222222222222222222222222222 -22222222222222222222222222222.00 +29 33333333333333333333333333333 -33333333333333333333333333333.00 +29 44444444444444444444444444444 -44444444444444444444444444444.00 +29 55555555555555555555555555555 -55555555555555555555555555555.00 +29 66666666666666666666666666666 -66666666666666666666666666666.00 +29 77777777777777777777777777777 -77777777777777777777777777777.00 +29 88888888888888888888888888888 -88888888888888888888888888888.00 +29 99999999999999999999999999999 -99999999999999999999999999999.00 +30 111111111111111111111111111111 -111111111111111111111111111111.00 +30 222222222222222222222222222222 -222222222222222222222222222222.00 +30 333333333333333333333333333333 -333333333333333333333333333333.00 +30 444444444444444444444444444444 -444444444444444444444444444444.00 +30 555555555555555555555555555555 -555555555555555555555555555555.00 +30 666666666666666666666666666666 -666666666666666666666666666666.00 +30 777777777777777777777777777777 -777777777777777777777777777777.00 +30 888888888888888888888888888888 -888888888888888888888888888888.00 +30 999999999999999999999999999999 -999999999999999999999999999999.00 +31 1111111111111111111111111111111 -1111111111111111111111111111111.00 +31 2222222222222222222222222222222 -2222222222222222222222222222222.00 +31 3333333333333333333333333333333 -3333333333333333333333333333333.00 +31 4444444444444444444444444444444 -4444444444444444444444444444444.00 +31 5555555555555555555555555555555 -5555555555555555555555555555555.00 +31 6666666666666666666666666666666 -6666666666666666666666666666666.00 +31 7777777777777777777777777777777 -7777777777777777777777777777777.00 +31 8888888888888888888888888888888 -8888888888888888888888888888888.00 +31 9999999999999999999999999999999 -9999999999999999999999999999999.00 +32 11111111111111111111111111111111 -11111111111111111111111111111111.00 +32 22222222222222222222222222222222 -22222222222222222222222222222222.00 +32 33333333333333333333333333333333 -33333333333333333333333333333333.00 +32 44444444444444444444444444444444 -44444444444444444444444444444444.00 +32 55555555555555555555555555555555 -55555555555555555555555555555555.00 +32 66666666666666666666666666666666 -66666666666666666666666666666666.00 +32 77777777777777777777777777777777 -77777777777777777777777777777777.00 +32 88888888888888888888888888888888 -88888888888888888888888888888888.00 +32 99999999999999999999999999999999 -99999999999999999999999999999999.00 +33 111111111111111111111111111111111 -111111111111111111111111111111111.00 +33 222222222222222222222222222222222 -222222222222222222222222222222222.00 +33 333333333333333333333333333333333 -333333333333333333333333333333333.00 +33 444444444444444444444444444444444 -444444444444444444444444444444444.00 +33 555555555555555555555555555555555 -555555555555555555555555555555555.00 +33 666666666666666666666666666666666 -666666666666666666666666666666666.00 +33 777777777777777777777777777777777 -777777777777777777777777777777777.00 +33 888888888888888888888888888888888 -888888888888888888888888888888888.00 +33 999999999999999999999999999999999 -999999999999999999999999999999999.00 +34 1111111111111111111111111111111111 -1111111111111111111111111111111111.00 +34 2222222222222222222222222222222222 -2222222222222222222222222222222222.00 +34 3333333333333333333333333333333333 -3333333333333333333333333333333333.00 +34 4444444444444444444444444444444444 -4444444444444444444444444444444444.00 +34 5555555555555555555555555555555555 -5555555555555555555555555555555555.00 +34 6666666666666666666666666666666666 -6666666666666666666666666666666666.00 +34 7777777777777777777777777777777777 -7777777777777777777777777777777777.00 +34 8888888888888888888888888888888888 -8888888888888888888888888888888888.00 +34 9999999999999999999999999999999999 -9999999999999999999999999999999999.00 +35 11111111111111111111111111111111111 -11111111111111111111111111111111111.00 +35 22222222222222222222222222222222222 -22222222222222222222222222222222222.00 +35 33333333333333333333333333333333333 -33333333333333333333333333333333333.00 +35 44444444444444444444444444444444444 -44444444444444444444444444444444444.00 +35 55555555555555555555555555555555555 -55555555555555555555555555555555555.00 +35 66666666666666666666666666666666666 -66666666666666666666666666666666666.00 +35 77777777777777777777777777777777777 -77777777777777777777777777777777777.00 +35 88888888888888888888888888888888888 -88888888888888888888888888888888888.00 +35 99999999999999999999999999999999999 -99999999999999999999999999999999999.00 +36 111111111111111111111111111111111111 -111111111111111111111111111111111111.00 +36 222222222222222222222222222222222222 -222222222222222222222222222222222222.00 +36 333333333333333333333333333333333333 -333333333333333333333333333333333333.00 +36 444444444444444444444444444444444444 -444444444444444444444444444444444444.00 +36 555555555555555555555555555555555555 -555555555555555555555555555555555555.00 +36 666666666666666666666666666666666666 -666666666666666666666666666666666666.00 +36 777777777777777777777777777777777777 -777777777777777777777777777777777777.00 +36 888888888888888888888888888888888888 -888888888888888888888888888888888888.00 +36 999999999999999999999999999999999999 -999999999999999999999999999999999999.00 +37 1111111111111111111111111111111111111 -999999999999999999999999999999999999.99 +37 2222222222222222222222222222222222222 -999999999999999999999999999999999999.99 +37 3333333333333333333333333333333333333 -999999999999999999999999999999999999.99 +37 4444444444444444444444444444444444444 -999999999999999999999999999999999999.99 +37 5555555555555555555555555555555555555 -999999999999999999999999999999999999.99 +37 6666666666666666666666666666666666666 -999999999999999999999999999999999999.99 +37 7777777777777777777777777777777777777 -999999999999999999999999999999999999.99 +37 8888888888888888888888888888888888888 -999999999999999999999999999999999999.99 +37 9999999999999999999999999999999999999 -999999999999999999999999999999999999.99 +38 11111111111111111111111111111111111111 -999999999999999999999999999999999999.99 +38 22222222222222222222222222222222222222 -999999999999999999999999999999999999.99 +38 33333333333333333333333333333333333333 -999999999999999999999999999999999999.99 +38 44444444444444444444444444444444444444 -999999999999999999999999999999999999.99 +38 55555555555555555555555555555555555555 -999999999999999999999999999999999999.99 +38 66666666666666666666666666666666666666 -999999999999999999999999999999999999.99 +38 77777777777777777777777777777777777777 -999999999999999999999999999999999999.99 +38 88888888888888888888888888888888888888 -999999999999999999999999999999999999.99 +38 99999999999999999999999999999999999999 -999999999999999999999999999999999999.99 +39 111111111111111111111111111111111111111 -999999999999999999999999999999999999.99 +39 222222222222222222222222222222222222222 -999999999999999999999999999999999999.99 +39 333333333333333333333333333333333333333 -999999999999999999999999999999999999.99 +39 444444444444444444444444444444444444444 -999999999999999999999999999999999999.99 +39 555555555555555555555555555555555555555 -999999999999999999999999999999999999.99 +39 666666666666666666666666666666666666666 -999999999999999999999999999999999999.99 +39 777777777777777777777777777777777777777 -999999999999999999999999999999999999.99 +39 888888888888888888888888888888888888888 -999999999999999999999999999999999999.99 +39 999999999999999999999999999999999999999 -999999999999999999999999999999999999.99 +40 1111111111111111111111111111111111111111 -999999999999999999999999999999999999.99 +40 2222222222222222222222222222222222222222 -999999999999999999999999999999999999.99 +40 3333333333333333333333333333333333333333 -999999999999999999999999999999999999.99 +40 4444444444444444444444444444444444444444 -999999999999999999999999999999999999.99 +40 5555555555555555555555555555555555555555 -999999999999999999999999999999999999.99 +40 6666666666666666666666666666666666666666 -999999999999999999999999999999999999.99 +40 7777777777777777777777777777777777777777 -999999999999999999999999999999999999.99 +40 8888888888888888888888888888888888888888 -999999999999999999999999999999999999.99 +40 9999999999999999999999999999999999999999 -999999999999999999999999999999999999.99 +DROP TABLE t1; +# Testing various exponent values +CREATE TABLE t1 (mantissa VARCHAR(128)); +BEGIN; +INSERT INTO t1 VALUES ('10000000000000000000000000000000000000'); +INSERT INTO t1 VALUES ('10000000000000'); +INSERT INTO t1 VALUES ('1000'); +INSERT INTO t1 VALUES ('10'); +INSERT INTO t1 VALUES ('1'); +INSERT INTO t1 VALUES ('0'); +INSERT INTO t1 VALUES ('.1'); +INSERT INTO t1 VALUES ('.01'); +INSERT INTO t1 VALUES ('.0001'); +INSERT INTO t1 VALUES ('.00000000000001'); +INSERT INTO t1 VALUES ('.00000000000000000000000000000000000001'); +COMMIT; +FOR exponent IN -50..50 DO +SELECT LPAD(CONCAT(mantissa, 'e', exponent),50) AS a, CAST(CONCAT(mantissa, 'e', exponent) AS DECIMAL(38,0)) AS d38_0 FROM t1 ORDER BY CAST(mantissa AS DOUBLE); +END FOR; +$$ +a d38_0 + 0e-50 0 + .00000000000000000000000000000000000001e-50 0 + .00000000000001e-50 0 + .0001e-50 0 + .01e-50 0 + .1e-50 0 + 1e-50 0 + 10e-50 0 + 1000e-50 0 + 10000000000000e-50 0 + 10000000000000000000000000000000000000e-50 0 +a d38_0 + 0e-49 0 + .00000000000000000000000000000000000001e-49 0 + .00000000000001e-49 0 + .0001e-49 0 + .01e-49 0 + .1e-49 0 + 1e-49 0 + 10e-49 0 + 1000e-49 0 + 10000000000000e-49 0 + 10000000000000000000000000000000000000e-49 0 +a d38_0 + 0e-48 0 + .00000000000000000000000000000000000001e-48 0 + .00000000000001e-48 0 + .0001e-48 0 + .01e-48 0 + .1e-48 0 + 1e-48 0 + 10e-48 0 + 1000e-48 0 + 10000000000000e-48 0 + 10000000000000000000000000000000000000e-48 0 +a d38_0 + 0e-47 0 + .00000000000000000000000000000000000001e-47 0 + .00000000000001e-47 0 + .0001e-47 0 + .01e-47 0 + .1e-47 0 + 1e-47 0 + 10e-47 0 + 1000e-47 0 + 10000000000000e-47 0 + 10000000000000000000000000000000000000e-47 0 +a d38_0 + 0e-46 0 + .00000000000000000000000000000000000001e-46 0 + .00000000000001e-46 0 + .0001e-46 0 + .01e-46 0 + .1e-46 0 + 1e-46 0 + 10e-46 0 + 1000e-46 0 + 10000000000000e-46 0 + 10000000000000000000000000000000000000e-46 0 +a d38_0 + 0e-45 0 + .00000000000000000000000000000000000001e-45 0 + .00000000000001e-45 0 + .0001e-45 0 + .01e-45 0 + .1e-45 0 + 1e-45 0 + 10e-45 0 + 1000e-45 0 + 10000000000000e-45 0 + 10000000000000000000000000000000000000e-45 0 +a d38_0 + 0e-44 0 + .00000000000000000000000000000000000001e-44 0 + .00000000000001e-44 0 + .0001e-44 0 + .01e-44 0 + .1e-44 0 + 1e-44 0 + 10e-44 0 + 1000e-44 0 + 10000000000000e-44 0 + 10000000000000000000000000000000000000e-44 0 +a d38_0 + 0e-43 0 + .00000000000000000000000000000000000001e-43 0 + .00000000000001e-43 0 + .0001e-43 0 + .01e-43 0 + .1e-43 0 + 1e-43 0 + 10e-43 0 + 1000e-43 0 + 10000000000000e-43 0 + 10000000000000000000000000000000000000e-43 0 +a d38_0 + 0e-42 0 + .00000000000000000000000000000000000001e-42 0 + .00000000000001e-42 0 + .0001e-42 0 + .01e-42 0 + .1e-42 0 + 1e-42 0 + 10e-42 0 + 1000e-42 0 + 10000000000000e-42 0 + 10000000000000000000000000000000000000e-42 0 +a d38_0 + 0e-41 0 + .00000000000000000000000000000000000001e-41 0 + .00000000000001e-41 0 + .0001e-41 0 + .01e-41 0 + .1e-41 0 + 1e-41 0 + 10e-41 0 + 1000e-41 0 + 10000000000000e-41 0 + 10000000000000000000000000000000000000e-41 0 +a d38_0 + 0e-40 0 + .00000000000000000000000000000000000001e-40 0 + .00000000000001e-40 0 + .0001e-40 0 + .01e-40 0 + .1e-40 0 + 1e-40 0 + 10e-40 0 + 1000e-40 0 + 10000000000000e-40 0 + 10000000000000000000000000000000000000e-40 0 +a d38_0 + 0e-39 0 + .00000000000000000000000000000000000001e-39 0 + .00000000000001e-39 0 + .0001e-39 0 + .01e-39 0 + .1e-39 0 + 1e-39 0 + 10e-39 0 + 1000e-39 0 + 10000000000000e-39 0 + 10000000000000000000000000000000000000e-39 0 +a d38_0 + 0e-38 0 + .00000000000000000000000000000000000001e-38 0 + .00000000000001e-38 0 + .0001e-38 0 + .01e-38 0 + .1e-38 0 + 1e-38 0 + 10e-38 0 + 1000e-38 0 + 10000000000000e-38 0 + 10000000000000000000000000000000000000e-38 0 +a d38_0 + 0e-37 0 + .00000000000000000000000000000000000001e-37 0 + .00000000000001e-37 0 + .0001e-37 0 + .01e-37 0 + .1e-37 0 + 1e-37 0 + 10e-37 0 + 1000e-37 0 + 10000000000000e-37 0 + 10000000000000000000000000000000000000e-37 1 +a d38_0 + 0e-36 0 + .00000000000000000000000000000000000001e-36 0 + .00000000000001e-36 0 + .0001e-36 0 + .01e-36 0 + .1e-36 0 + 1e-36 0 + 10e-36 0 + 1000e-36 0 + 10000000000000e-36 0 + 10000000000000000000000000000000000000e-36 10 +a d38_0 + 0e-35 0 + .00000000000000000000000000000000000001e-35 0 + .00000000000001e-35 0 + .0001e-35 0 + .01e-35 0 + .1e-35 0 + 1e-35 0 + 10e-35 0 + 1000e-35 0 + 10000000000000e-35 0 + 10000000000000000000000000000000000000e-35 100 +a d38_0 + 0e-34 0 + .00000000000000000000000000000000000001e-34 0 + .00000000000001e-34 0 + .0001e-34 0 + .01e-34 0 + .1e-34 0 + 1e-34 0 + 10e-34 0 + 1000e-34 0 + 10000000000000e-34 0 + 10000000000000000000000000000000000000e-34 1000 +a d38_0 + 0e-33 0 + .00000000000000000000000000000000000001e-33 0 + .00000000000001e-33 0 + .0001e-33 0 + .01e-33 0 + .1e-33 0 + 1e-33 0 + 10e-33 0 + 1000e-33 0 + 10000000000000e-33 0 + 10000000000000000000000000000000000000e-33 10000 +a d38_0 + 0e-32 0 + .00000000000000000000000000000000000001e-32 0 + .00000000000001e-32 0 + .0001e-32 0 + .01e-32 0 + .1e-32 0 + 1e-32 0 + 10e-32 0 + 1000e-32 0 + 10000000000000e-32 0 + 10000000000000000000000000000000000000e-32 100000 +a d38_0 + 0e-31 0 + .00000000000000000000000000000000000001e-31 0 + .00000000000001e-31 0 + .0001e-31 0 + .01e-31 0 + .1e-31 0 + 1e-31 0 + 10e-31 0 + 1000e-31 0 + 10000000000000e-31 0 + 10000000000000000000000000000000000000e-31 1000000 +a d38_0 + 0e-30 0 + .00000000000000000000000000000000000001e-30 0 + .00000000000001e-30 0 + .0001e-30 0 + .01e-30 0 + .1e-30 0 + 1e-30 0 + 10e-30 0 + 1000e-30 0 + 10000000000000e-30 0 + 10000000000000000000000000000000000000e-30 10000000 +a d38_0 + 0e-29 0 + .00000000000000000000000000000000000001e-29 0 + .00000000000001e-29 0 + .0001e-29 0 + .01e-29 0 + .1e-29 0 + 1e-29 0 + 10e-29 0 + 1000e-29 0 + 10000000000000e-29 0 + 10000000000000000000000000000000000000e-29 100000000 +a d38_0 + 0e-28 0 + .00000000000000000000000000000000000001e-28 0 + .00000000000001e-28 0 + .0001e-28 0 + .01e-28 0 + .1e-28 0 + 1e-28 0 + 10e-28 0 + 1000e-28 0 + 10000000000000e-28 0 + 10000000000000000000000000000000000000e-28 1000000000 +a d38_0 + 0e-27 0 + .00000000000000000000000000000000000001e-27 0 + .00000000000001e-27 0 + .0001e-27 0 + .01e-27 0 + .1e-27 0 + 1e-27 0 + 10e-27 0 + 1000e-27 0 + 10000000000000e-27 0 + 10000000000000000000000000000000000000e-27 10000000000 +a d38_0 + 0e-26 0 + .00000000000000000000000000000000000001e-26 0 + .00000000000001e-26 0 + .0001e-26 0 + .01e-26 0 + .1e-26 0 + 1e-26 0 + 10e-26 0 + 1000e-26 0 + 10000000000000e-26 0 + 10000000000000000000000000000000000000e-26 100000000000 +a d38_0 + 0e-25 0 + .00000000000000000000000000000000000001e-25 0 + .00000000000001e-25 0 + .0001e-25 0 + .01e-25 0 + .1e-25 0 + 1e-25 0 + 10e-25 0 + 1000e-25 0 + 10000000000000e-25 0 + 10000000000000000000000000000000000000e-25 1000000000000 +a d38_0 + 0e-24 0 + .00000000000000000000000000000000000001e-24 0 + .00000000000001e-24 0 + .0001e-24 0 + .01e-24 0 + .1e-24 0 + 1e-24 0 + 10e-24 0 + 1000e-24 0 + 10000000000000e-24 0 + 10000000000000000000000000000000000000e-24 10000000000000 +a d38_0 + 0e-23 0 + .00000000000000000000000000000000000001e-23 0 + .00000000000001e-23 0 + .0001e-23 0 + .01e-23 0 + .1e-23 0 + 1e-23 0 + 10e-23 0 + 1000e-23 0 + 10000000000000e-23 0 + 10000000000000000000000000000000000000e-23 100000000000000 +a d38_0 + 0e-22 0 + .00000000000000000000000000000000000001e-22 0 + .00000000000001e-22 0 + .0001e-22 0 + .01e-22 0 + .1e-22 0 + 1e-22 0 + 10e-22 0 + 1000e-22 0 + 10000000000000e-22 0 + 10000000000000000000000000000000000000e-22 1000000000000000 +a d38_0 + 0e-21 0 + .00000000000000000000000000000000000001e-21 0 + .00000000000001e-21 0 + .0001e-21 0 + .01e-21 0 + .1e-21 0 + 1e-21 0 + 10e-21 0 + 1000e-21 0 + 10000000000000e-21 0 + 10000000000000000000000000000000000000e-21 10000000000000000 +a d38_0 + 0e-20 0 + .00000000000000000000000000000000000001e-20 0 + .00000000000001e-20 0 + .0001e-20 0 + .01e-20 0 + .1e-20 0 + 1e-20 0 + 10e-20 0 + 1000e-20 0 + 10000000000000e-20 0 + 10000000000000000000000000000000000000e-20 100000000000000000 +a d38_0 + 0e-19 0 + .00000000000000000000000000000000000001e-19 0 + .00000000000001e-19 0 + .0001e-19 0 + .01e-19 0 + .1e-19 0 + 1e-19 0 + 10e-19 0 + 1000e-19 0 + 10000000000000e-19 0 + 10000000000000000000000000000000000000e-19 1000000000000000000 +a d38_0 + 0e-18 0 + .00000000000000000000000000000000000001e-18 0 + .00000000000001e-18 0 + .0001e-18 0 + .01e-18 0 + .1e-18 0 + 1e-18 0 + 10e-18 0 + 1000e-18 0 + 10000000000000e-18 0 + 10000000000000000000000000000000000000e-18 10000000000000000000 +a d38_0 + 0e-17 0 + .00000000000000000000000000000000000001e-17 0 + .00000000000001e-17 0 + .0001e-17 0 + .01e-17 0 + .1e-17 0 + 1e-17 0 + 10e-17 0 + 1000e-17 0 + 10000000000000e-17 0 + 10000000000000000000000000000000000000e-17 100000000000000000000 +a d38_0 + 0e-16 0 + .00000000000000000000000000000000000001e-16 0 + .00000000000001e-16 0 + .0001e-16 0 + .01e-16 0 + .1e-16 0 + 1e-16 0 + 10e-16 0 + 1000e-16 0 + 10000000000000e-16 0 + 10000000000000000000000000000000000000e-16 1000000000000000000000 +a d38_0 + 0e-15 0 + .00000000000000000000000000000000000001e-15 0 + .00000000000001e-15 0 + .0001e-15 0 + .01e-15 0 + .1e-15 0 + 1e-15 0 + 10e-15 0 + 1000e-15 0 + 10000000000000e-15 0 + 10000000000000000000000000000000000000e-15 10000000000000000000000 +a d38_0 + 0e-14 0 + .00000000000000000000000000000000000001e-14 0 + .00000000000001e-14 0 + .0001e-14 0 + .01e-14 0 + .1e-14 0 + 1e-14 0 + 10e-14 0 + 1000e-14 0 + 10000000000000e-14 0 + 10000000000000000000000000000000000000e-14 100000000000000000000000 +a d38_0 + 0e-13 0 + .00000000000000000000000000000000000001e-13 0 + .00000000000001e-13 0 + .0001e-13 0 + .01e-13 0 + .1e-13 0 + 1e-13 0 + 10e-13 0 + 1000e-13 0 + 10000000000000e-13 1 + 10000000000000000000000000000000000000e-13 1000000000000000000000000 +a d38_0 + 0e-12 0 + .00000000000000000000000000000000000001e-12 0 + .00000000000001e-12 0 + .0001e-12 0 + .01e-12 0 + .1e-12 0 + 1e-12 0 + 10e-12 0 + 1000e-12 0 + 10000000000000e-12 10 + 10000000000000000000000000000000000000e-12 10000000000000000000000000 +a d38_0 + 0e-11 0 + .00000000000000000000000000000000000001e-11 0 + .00000000000001e-11 0 + .0001e-11 0 + .01e-11 0 + .1e-11 0 + 1e-11 0 + 10e-11 0 + 1000e-11 0 + 10000000000000e-11 100 + 10000000000000000000000000000000000000e-11 100000000000000000000000000 +a d38_0 + 0e-10 0 + .00000000000000000000000000000000000001e-10 0 + .00000000000001e-10 0 + .0001e-10 0 + .01e-10 0 + .1e-10 0 + 1e-10 0 + 10e-10 0 + 1000e-10 0 + 10000000000000e-10 1000 + 10000000000000000000000000000000000000e-10 1000000000000000000000000000 +a d38_0 + 0e-9 0 + .00000000000000000000000000000000000001e-9 0 + .00000000000001e-9 0 + .0001e-9 0 + .01e-9 0 + .1e-9 0 + 1e-9 0 + 10e-9 0 + 1000e-9 0 + 10000000000000e-9 10000 + 10000000000000000000000000000000000000e-9 10000000000000000000000000000 +a d38_0 + 0e-8 0 + .00000000000000000000000000000000000001e-8 0 + .00000000000001e-8 0 + .0001e-8 0 + .01e-8 0 + .1e-8 0 + 1e-8 0 + 10e-8 0 + 1000e-8 0 + 10000000000000e-8 100000 + 10000000000000000000000000000000000000e-8 100000000000000000000000000000 +a d38_0 + 0e-7 0 + .00000000000000000000000000000000000001e-7 0 + .00000000000001e-7 0 + .0001e-7 0 + .01e-7 0 + .1e-7 0 + 1e-7 0 + 10e-7 0 + 1000e-7 0 + 10000000000000e-7 1000000 + 10000000000000000000000000000000000000e-7 1000000000000000000000000000000 +a d38_0 + 0e-6 0 + .00000000000000000000000000000000000001e-6 0 + .00000000000001e-6 0 + .0001e-6 0 + .01e-6 0 + .1e-6 0 + 1e-6 0 + 10e-6 0 + 1000e-6 0 + 10000000000000e-6 10000000 + 10000000000000000000000000000000000000e-6 10000000000000000000000000000000 +a d38_0 + 0e-5 0 + .00000000000000000000000000000000000001e-5 0 + .00000000000001e-5 0 + .0001e-5 0 + .01e-5 0 + .1e-5 0 + 1e-5 0 + 10e-5 0 + 1000e-5 0 + 10000000000000e-5 100000000 + 10000000000000000000000000000000000000e-5 100000000000000000000000000000000 +a d38_0 + 0e-4 0 + .00000000000000000000000000000000000001e-4 0 + .00000000000001e-4 0 + .0001e-4 0 + .01e-4 0 + .1e-4 0 + 1e-4 0 + 10e-4 0 + 1000e-4 0 + 10000000000000e-4 1000000000 + 10000000000000000000000000000000000000e-4 1000000000000000000000000000000000 +a d38_0 + 0e-3 0 + .00000000000000000000000000000000000001e-3 0 + .00000000000001e-3 0 + .0001e-3 0 + .01e-3 0 + .1e-3 0 + 1e-3 0 + 10e-3 0 + 1000e-3 1 + 10000000000000e-3 10000000000 + 10000000000000000000000000000000000000e-3 10000000000000000000000000000000000 +a d38_0 + 0e-2 0 + .00000000000000000000000000000000000001e-2 0 + .00000000000001e-2 0 + .0001e-2 0 + .01e-2 0 + .1e-2 0 + 1e-2 0 + 10e-2 0 + 1000e-2 10 + 10000000000000e-2 100000000000 + 10000000000000000000000000000000000000e-2 100000000000000000000000000000000000 +a d38_0 + 0e-1 0 + .00000000000000000000000000000000000001e-1 0 + .00000000000001e-1 0 + .0001e-1 0 + .01e-1 0 + .1e-1 0 + 1e-1 0 + 10e-1 1 + 1000e-1 100 + 10000000000000e-1 1000000000000 + 10000000000000000000000000000000000000e-1 1000000000000000000000000000000000000 +a d38_0 + 0e0 0 + .00000000000000000000000000000000000001e0 0 + .00000000000001e0 0 + .0001e0 0 + .01e0 0 + .1e0 0 + 1e0 1 + 10e0 10 + 1000e0 1000 + 10000000000000e0 10000000000000 + 10000000000000000000000000000000000000e0 10000000000000000000000000000000000000 +a d38_0 + 0e1 0 + .00000000000000000000000000000000000001e1 0 + .00000000000001e1 0 + .0001e1 0 + .01e1 0 + .1e1 1 + 1e1 10 + 10e1 100 + 1000e1 10000 + 10000000000000e1 100000000000000 + 10000000000000000000000000000000000000e1 99999999999999999999999999999999999999 +a d38_0 + 0e2 0 + .00000000000000000000000000000000000001e2 0 + .00000000000001e2 0 + .0001e2 0 + .01e2 1 + .1e2 10 + 1e2 100 + 10e2 1000 + 1000e2 100000 + 10000000000000e2 1000000000000000 + 10000000000000000000000000000000000000e2 99999999999999999999999999999999999999 +a d38_0 + 0e3 0 + .00000000000000000000000000000000000001e3 0 + .00000000000001e3 0 + .0001e3 0 + .01e3 10 + .1e3 100 + 1e3 1000 + 10e3 10000 + 1000e3 1000000 + 10000000000000e3 10000000000000000 + 10000000000000000000000000000000000000e3 99999999999999999999999999999999999999 +a d38_0 + 0e4 0 + .00000000000000000000000000000000000001e4 0 + .00000000000001e4 0 + .0001e4 1 + .01e4 100 + .1e4 1000 + 1e4 10000 + 10e4 100000 + 1000e4 10000000 + 10000000000000e4 100000000000000000 + 10000000000000000000000000000000000000e4 99999999999999999999999999999999999999 +a d38_0 + 0e5 0 + .00000000000000000000000000000000000001e5 0 + .00000000000001e5 0 + .0001e5 10 + .01e5 1000 + .1e5 10000 + 1e5 100000 + 10e5 1000000 + 1000e5 100000000 + 10000000000000e5 1000000000000000000 + 10000000000000000000000000000000000000e5 99999999999999999999999999999999999999 +a d38_0 + 0e6 0 + .00000000000000000000000000000000000001e6 0 + .00000000000001e6 0 + .0001e6 100 + .01e6 10000 + .1e6 100000 + 1e6 1000000 + 10e6 10000000 + 1000e6 1000000000 + 10000000000000e6 10000000000000000000 + 10000000000000000000000000000000000000e6 99999999999999999999999999999999999999 +a d38_0 + 0e7 0 + .00000000000000000000000000000000000001e7 0 + .00000000000001e7 0 + .0001e7 1000 + .01e7 100000 + .1e7 1000000 + 1e7 10000000 + 10e7 100000000 + 1000e7 10000000000 + 10000000000000e7 100000000000000000000 + 10000000000000000000000000000000000000e7 99999999999999999999999999999999999999 +a d38_0 + 0e8 0 + .00000000000000000000000000000000000001e8 0 + .00000000000001e8 0 + .0001e8 10000 + .01e8 1000000 + .1e8 10000000 + 1e8 100000000 + 10e8 1000000000 + 1000e8 100000000000 + 10000000000000e8 1000000000000000000000 + 10000000000000000000000000000000000000e8 99999999999999999999999999999999999999 +a d38_0 + 0e9 0 + .00000000000000000000000000000000000001e9 0 + .00000000000001e9 0 + .0001e9 100000 + .01e9 10000000 + .1e9 100000000 + 1e9 1000000000 + 10e9 10000000000 + 1000e9 1000000000000 + 10000000000000e9 10000000000000000000000 + 10000000000000000000000000000000000000e9 99999999999999999999999999999999999999 +a d38_0 + 0e10 0 + .00000000000000000000000000000000000001e10 0 + .00000000000001e10 0 + .0001e10 1000000 + .01e10 100000000 + .1e10 1000000000 + 1e10 10000000000 + 10e10 100000000000 + 1000e10 10000000000000 + 10000000000000e10 100000000000000000000000 + 10000000000000000000000000000000000000e10 99999999999999999999999999999999999999 +a d38_0 + 0e11 0 + .00000000000000000000000000000000000001e11 0 + .00000000000001e11 0 + .0001e11 10000000 + .01e11 1000000000 + .1e11 10000000000 + 1e11 100000000000 + 10e11 1000000000000 + 1000e11 100000000000000 + 10000000000000e11 1000000000000000000000000 + 10000000000000000000000000000000000000e11 99999999999999999999999999999999999999 +a d38_0 + 0e12 0 + .00000000000000000000000000000000000001e12 0 + .00000000000001e12 0 + .0001e12 100000000 + .01e12 10000000000 + .1e12 100000000000 + 1e12 1000000000000 + 10e12 10000000000000 + 1000e12 1000000000000000 + 10000000000000e12 10000000000000000000000000 + 10000000000000000000000000000000000000e12 99999999999999999999999999999999999999 +a d38_0 + 0e13 0 + .00000000000000000000000000000000000001e13 0 + .00000000000001e13 0 + .0001e13 1000000000 + .01e13 100000000000 + .1e13 1000000000000 + 1e13 10000000000000 + 10e13 100000000000000 + 1000e13 10000000000000000 + 10000000000000e13 100000000000000000000000000 + 10000000000000000000000000000000000000e13 99999999999999999999999999999999999999 +a d38_0 + 0e14 0 + .00000000000000000000000000000000000001e14 0 + .00000000000001e14 1 + .0001e14 10000000000 + .01e14 1000000000000 + .1e14 10000000000000 + 1e14 100000000000000 + 10e14 1000000000000000 + 1000e14 100000000000000000 + 10000000000000e14 1000000000000000000000000000 + 10000000000000000000000000000000000000e14 99999999999999999999999999999999999999 +a d38_0 + 0e15 0 + .00000000000000000000000000000000000001e15 0 + .00000000000001e15 10 + .0001e15 100000000000 + .01e15 10000000000000 + .1e15 100000000000000 + 1e15 1000000000000000 + 10e15 10000000000000000 + 1000e15 1000000000000000000 + 10000000000000e15 10000000000000000000000000000 + 10000000000000000000000000000000000000e15 99999999999999999999999999999999999999 +a d38_0 + 0e16 0 + .00000000000000000000000000000000000001e16 0 + .00000000000001e16 100 + .0001e16 1000000000000 + .01e16 100000000000000 + .1e16 1000000000000000 + 1e16 10000000000000000 + 10e16 100000000000000000 + 1000e16 10000000000000000000 + 10000000000000e16 100000000000000000000000000000 + 10000000000000000000000000000000000000e16 99999999999999999999999999999999999999 +a d38_0 + 0e17 0 + .00000000000000000000000000000000000001e17 0 + .00000000000001e17 1000 + .0001e17 10000000000000 + .01e17 1000000000000000 + .1e17 10000000000000000 + 1e17 100000000000000000 + 10e17 1000000000000000000 + 1000e17 100000000000000000000 + 10000000000000e17 1000000000000000000000000000000 + 10000000000000000000000000000000000000e17 99999999999999999999999999999999999999 +a d38_0 + 0e18 0 + .00000000000000000000000000000000000001e18 0 + .00000000000001e18 10000 + .0001e18 100000000000000 + .01e18 10000000000000000 + .1e18 100000000000000000 + 1e18 1000000000000000000 + 10e18 10000000000000000000 + 1000e18 1000000000000000000000 + 10000000000000e18 10000000000000000000000000000000 + 10000000000000000000000000000000000000e18 99999999999999999999999999999999999999 +a d38_0 + 0e19 0 + .00000000000000000000000000000000000001e19 0 + .00000000000001e19 100000 + .0001e19 1000000000000000 + .01e19 100000000000000000 + .1e19 1000000000000000000 + 1e19 10000000000000000000 + 10e19 100000000000000000000 + 1000e19 10000000000000000000000 + 10000000000000e19 100000000000000000000000000000000 + 10000000000000000000000000000000000000e19 99999999999999999999999999999999999999 +a d38_0 + 0e20 0 + .00000000000000000000000000000000000001e20 0 + .00000000000001e20 1000000 + .0001e20 10000000000000000 + .01e20 1000000000000000000 + .1e20 10000000000000000000 + 1e20 100000000000000000000 + 10e20 1000000000000000000000 + 1000e20 100000000000000000000000 + 10000000000000e20 1000000000000000000000000000000000 + 10000000000000000000000000000000000000e20 99999999999999999999999999999999999999 +a d38_0 + 0e21 0 + .00000000000000000000000000000000000001e21 0 + .00000000000001e21 10000000 + .0001e21 100000000000000000 + .01e21 10000000000000000000 + .1e21 100000000000000000000 + 1e21 1000000000000000000000 + 10e21 10000000000000000000000 + 1000e21 1000000000000000000000000 + 10000000000000e21 10000000000000000000000000000000000 + 10000000000000000000000000000000000000e21 99999999999999999999999999999999999999 +a d38_0 + 0e22 0 + .00000000000000000000000000000000000001e22 0 + .00000000000001e22 100000000 + .0001e22 1000000000000000000 + .01e22 100000000000000000000 + .1e22 1000000000000000000000 + 1e22 10000000000000000000000 + 10e22 100000000000000000000000 + 1000e22 10000000000000000000000000 + 10000000000000e22 100000000000000000000000000000000000 + 10000000000000000000000000000000000000e22 99999999999999999999999999999999999999 +a d38_0 + 0e23 0 + .00000000000000000000000000000000000001e23 0 + .00000000000001e23 1000000000 + .0001e23 10000000000000000000 + .01e23 1000000000000000000000 + .1e23 10000000000000000000000 + 1e23 100000000000000000000000 + 10e23 1000000000000000000000000 + 1000e23 100000000000000000000000000 + 10000000000000e23 1000000000000000000000000000000000000 + 10000000000000000000000000000000000000e23 99999999999999999999999999999999999999 +a d38_0 + 0e24 0 + .00000000000000000000000000000000000001e24 0 + .00000000000001e24 10000000000 + .0001e24 100000000000000000000 + .01e24 10000000000000000000000 + .1e24 100000000000000000000000 + 1e24 1000000000000000000000000 + 10e24 10000000000000000000000000 + 1000e24 1000000000000000000000000000 + 10000000000000e24 10000000000000000000000000000000000000 + 10000000000000000000000000000000000000e24 99999999999999999999999999999999999999 +a d38_0 + 0e25 0 + .00000000000000000000000000000000000001e25 0 + .00000000000001e25 100000000000 + .0001e25 1000000000000000000000 + .01e25 100000000000000000000000 + .1e25 1000000000000000000000000 + 1e25 10000000000000000000000000 + 10e25 100000000000000000000000000 + 1000e25 10000000000000000000000000000 + 10000000000000e25 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e25 99999999999999999999999999999999999999 +a d38_0 + 0e26 0 + .00000000000000000000000000000000000001e26 0 + .00000000000001e26 1000000000000 + .0001e26 10000000000000000000000 + .01e26 1000000000000000000000000 + .1e26 10000000000000000000000000 + 1e26 100000000000000000000000000 + 10e26 1000000000000000000000000000 + 1000e26 100000000000000000000000000000 + 10000000000000e26 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e26 99999999999999999999999999999999999999 +a d38_0 + 0e27 0 + .00000000000000000000000000000000000001e27 0 + .00000000000001e27 10000000000000 + .0001e27 100000000000000000000000 + .01e27 10000000000000000000000000 + .1e27 100000000000000000000000000 + 1e27 1000000000000000000000000000 + 10e27 10000000000000000000000000000 + 1000e27 1000000000000000000000000000000 + 10000000000000e27 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e27 99999999999999999999999999999999999999 +a d38_0 + 0e28 0 + .00000000000000000000000000000000000001e28 0 + .00000000000001e28 100000000000000 + .0001e28 1000000000000000000000000 + .01e28 100000000000000000000000000 + .1e28 1000000000000000000000000000 + 1e28 10000000000000000000000000000 + 10e28 100000000000000000000000000000 + 1000e28 10000000000000000000000000000000 + 10000000000000e28 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e28 99999999999999999999999999999999999999 +a d38_0 + 0e29 0 + .00000000000000000000000000000000000001e29 0 + .00000000000001e29 1000000000000000 + .0001e29 10000000000000000000000000 + .01e29 1000000000000000000000000000 + .1e29 10000000000000000000000000000 + 1e29 100000000000000000000000000000 + 10e29 1000000000000000000000000000000 + 1000e29 100000000000000000000000000000000 + 10000000000000e29 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e29 99999999999999999999999999999999999999 +a d38_0 + 0e30 0 + .00000000000000000000000000000000000001e30 0 + .00000000000001e30 10000000000000000 + .0001e30 100000000000000000000000000 + .01e30 10000000000000000000000000000 + .1e30 100000000000000000000000000000 + 1e30 1000000000000000000000000000000 + 10e30 10000000000000000000000000000000 + 1000e30 1000000000000000000000000000000000 + 10000000000000e30 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e30 99999999999999999999999999999999999999 +a d38_0 + 0e31 0 + .00000000000000000000000000000000000001e31 0 + .00000000000001e31 100000000000000000 + .0001e31 1000000000000000000000000000 + .01e31 100000000000000000000000000000 + .1e31 1000000000000000000000000000000 + 1e31 10000000000000000000000000000000 + 10e31 100000000000000000000000000000000 + 1000e31 10000000000000000000000000000000000 + 10000000000000e31 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e31 99999999999999999999999999999999999999 +a d38_0 + 0e32 0 + .00000000000000000000000000000000000001e32 0 + .00000000000001e32 1000000000000000000 + .0001e32 10000000000000000000000000000 + .01e32 1000000000000000000000000000000 + .1e32 10000000000000000000000000000000 + 1e32 100000000000000000000000000000000 + 10e32 1000000000000000000000000000000000 + 1000e32 100000000000000000000000000000000000 + 10000000000000e32 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e32 99999999999999999999999999999999999999 +a d38_0 + 0e33 0 + .00000000000000000000000000000000000001e33 0 + .00000000000001e33 10000000000000000000 + .0001e33 100000000000000000000000000000 + .01e33 10000000000000000000000000000000 + .1e33 100000000000000000000000000000000 + 1e33 1000000000000000000000000000000000 + 10e33 10000000000000000000000000000000000 + 1000e33 1000000000000000000000000000000000000 + 10000000000000e33 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e33 99999999999999999999999999999999999999 +a d38_0 + 0e34 0 + .00000000000000000000000000000000000001e34 0 + .00000000000001e34 100000000000000000000 + .0001e34 1000000000000000000000000000000 + .01e34 100000000000000000000000000000000 + .1e34 1000000000000000000000000000000000 + 1e34 10000000000000000000000000000000000 + 10e34 100000000000000000000000000000000000 + 1000e34 10000000000000000000000000000000000000 + 10000000000000e34 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e34 99999999999999999999999999999999999999 +a d38_0 + 0e35 0 + .00000000000000000000000000000000000001e35 0 + .00000000000001e35 1000000000000000000000 + .0001e35 10000000000000000000000000000000 + .01e35 1000000000000000000000000000000000 + .1e35 10000000000000000000000000000000000 + 1e35 100000000000000000000000000000000000 + 10e35 1000000000000000000000000000000000000 + 1000e35 99999999999999999999999999999999999999 + 10000000000000e35 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e35 99999999999999999999999999999999999999 +a d38_0 + 0e36 0 + .00000000000000000000000000000000000001e36 0 + .00000000000001e36 10000000000000000000000 + .0001e36 100000000000000000000000000000000 + .01e36 10000000000000000000000000000000000 + .1e36 100000000000000000000000000000000000 + 1e36 1000000000000000000000000000000000000 + 10e36 10000000000000000000000000000000000000 + 1000e36 99999999999999999999999999999999999999 + 10000000000000e36 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e36 99999999999999999999999999999999999999 +a d38_0 + 0e37 0 + .00000000000000000000000000000000000001e37 0 + .00000000000001e37 100000000000000000000000 + .0001e37 1000000000000000000000000000000000 + .01e37 100000000000000000000000000000000000 + .1e37 1000000000000000000000000000000000000 + 1e37 10000000000000000000000000000000000000 + 10e37 99999999999999999999999999999999999999 + 1000e37 99999999999999999999999999999999999999 + 10000000000000e37 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e37 99999999999999999999999999999999999999 +a d38_0 + 0e38 0 + .00000000000000000000000000000000000001e38 1 + .00000000000001e38 1000000000000000000000000 + .0001e38 10000000000000000000000000000000000 + .01e38 1000000000000000000000000000000000000 + .1e38 10000000000000000000000000000000000000 + 1e38 99999999999999999999999999999999999999 + 10e38 99999999999999999999999999999999999999 + 1000e38 99999999999999999999999999999999999999 + 10000000000000e38 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e38 99999999999999999999999999999999999999 +a d38_0 + 0e39 0 + .00000000000000000000000000000000000001e39 10 + .00000000000001e39 10000000000000000000000000 + .0001e39 100000000000000000000000000000000000 + .01e39 10000000000000000000000000000000000000 + .1e39 99999999999999999999999999999999999999 + 1e39 99999999999999999999999999999999999999 + 10e39 99999999999999999999999999999999999999 + 1000e39 99999999999999999999999999999999999999 + 10000000000000e39 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e39 99999999999999999999999999999999999999 +a d38_0 + 0e40 0 + .00000000000000000000000000000000000001e40 100 + .00000000000001e40 100000000000000000000000000 + .0001e40 1000000000000000000000000000000000000 + .01e40 99999999999999999999999999999999999999 + .1e40 99999999999999999999999999999999999999 + 1e40 99999999999999999999999999999999999999 + 10e40 99999999999999999999999999999999999999 + 1000e40 99999999999999999999999999999999999999 + 10000000000000e40 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e40 99999999999999999999999999999999999999 +a d38_0 + 0e41 0 + .00000000000000000000000000000000000001e41 1000 + .00000000000001e41 1000000000000000000000000000 + .0001e41 10000000000000000000000000000000000000 + .01e41 99999999999999999999999999999999999999 + .1e41 99999999999999999999999999999999999999 + 1e41 99999999999999999999999999999999999999 + 10e41 99999999999999999999999999999999999999 + 1000e41 99999999999999999999999999999999999999 + 10000000000000e41 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e41 99999999999999999999999999999999999999 +a d38_0 + 0e42 0 + .00000000000000000000000000000000000001e42 10000 + .00000000000001e42 10000000000000000000000000000 + .0001e42 99999999999999999999999999999999999999 + .01e42 99999999999999999999999999999999999999 + .1e42 99999999999999999999999999999999999999 + 1e42 99999999999999999999999999999999999999 + 10e42 99999999999999999999999999999999999999 + 1000e42 99999999999999999999999999999999999999 + 10000000000000e42 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e42 99999999999999999999999999999999999999 +a d38_0 + 0e43 0 + .00000000000000000000000000000000000001e43 100000 + .00000000000001e43 100000000000000000000000000000 + .0001e43 99999999999999999999999999999999999999 + .01e43 99999999999999999999999999999999999999 + .1e43 99999999999999999999999999999999999999 + 1e43 99999999999999999999999999999999999999 + 10e43 99999999999999999999999999999999999999 + 1000e43 99999999999999999999999999999999999999 + 10000000000000e43 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e43 99999999999999999999999999999999999999 +a d38_0 + 0e44 0 + .00000000000000000000000000000000000001e44 1000000 + .00000000000001e44 1000000000000000000000000000000 + .0001e44 99999999999999999999999999999999999999 + .01e44 99999999999999999999999999999999999999 + .1e44 99999999999999999999999999999999999999 + 1e44 99999999999999999999999999999999999999 + 10e44 99999999999999999999999999999999999999 + 1000e44 99999999999999999999999999999999999999 + 10000000000000e44 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e44 99999999999999999999999999999999999999 +a d38_0 + 0e45 0 + .00000000000000000000000000000000000001e45 10000000 + .00000000000001e45 10000000000000000000000000000000 + .0001e45 99999999999999999999999999999999999999 + .01e45 99999999999999999999999999999999999999 + .1e45 99999999999999999999999999999999999999 + 1e45 99999999999999999999999999999999999999 + 10e45 99999999999999999999999999999999999999 + 1000e45 99999999999999999999999999999999999999 + 10000000000000e45 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e45 99999999999999999999999999999999999999 +a d38_0 + 0e46 0 + .00000000000000000000000000000000000001e46 100000000 + .00000000000001e46 100000000000000000000000000000000 + .0001e46 99999999999999999999999999999999999999 + .01e46 99999999999999999999999999999999999999 + .1e46 99999999999999999999999999999999999999 + 1e46 99999999999999999999999999999999999999 + 10e46 99999999999999999999999999999999999999 + 1000e46 99999999999999999999999999999999999999 + 10000000000000e46 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e46 99999999999999999999999999999999999999 +a d38_0 + 0e47 0 + .00000000000000000000000000000000000001e47 1000000000 + .00000000000001e47 1000000000000000000000000000000000 + .0001e47 99999999999999999999999999999999999999 + .01e47 99999999999999999999999999999999999999 + .1e47 99999999999999999999999999999999999999 + 1e47 99999999999999999999999999999999999999 + 10e47 99999999999999999999999999999999999999 + 1000e47 99999999999999999999999999999999999999 + 10000000000000e47 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e47 99999999999999999999999999999999999999 +a d38_0 + 0e48 0 + .00000000000000000000000000000000000001e48 10000000000 + .00000000000001e48 10000000000000000000000000000000000 + .0001e48 99999999999999999999999999999999999999 + .01e48 99999999999999999999999999999999999999 + .1e48 99999999999999999999999999999999999999 + 1e48 99999999999999999999999999999999999999 + 10e48 99999999999999999999999999999999999999 + 1000e48 99999999999999999999999999999999999999 + 10000000000000e48 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e48 99999999999999999999999999999999999999 +a d38_0 + 0e49 0 + .00000000000000000000000000000000000001e49 100000000000 + .00000000000001e49 100000000000000000000000000000000000 + .0001e49 99999999999999999999999999999999999999 + .01e49 99999999999999999999999999999999999999 + .1e49 99999999999999999999999999999999999999 + 1e49 99999999999999999999999999999999999999 + 10e49 99999999999999999999999999999999999999 + 1000e49 99999999999999999999999999999999999999 + 10000000000000e49 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e49 99999999999999999999999999999999999999 +a d38_0 + 0e50 0 + .00000000000000000000000000000000000001e50 1000000000000 + .00000000000001e50 1000000000000000000000000000000000000 + .0001e50 99999999999999999999999999999999999999 + .01e50 99999999999999999999999999999999999999 + .1e50 99999999999999999999999999999999999999 + 1e50 99999999999999999999999999999999999999 + 10e50 99999999999999999999999999999999999999 + 1000e50 99999999999999999999999999999999999999 + 10000000000000e50 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e50 99999999999999999999999999999999999999 +FOR i IN 1..40 DO +BEGIN +DECLARE exponent VARCHAR(128) DEFAULT CONCAT('-',REPEAT('1',i)); +SELECT LPAD(CONCAT(mantissa, 'e', exponent),80) AS a, CAST(CONCAT(mantissa, 'e', exponent) AS DECIMAL(38,0)) AS d38_0 FROM t1 ORDER BY CAST(mantissa AS DOUBLE); +END; +END FOR; +$$ +a d38_0 + 0e-1 0 + .00000000000000000000000000000000000001e-1 0 + .00000000000001e-1 0 + .0001e-1 0 + .01e-1 0 + .1e-1 0 + 1e-1 0 + 10e-1 1 + 1000e-1 100 + 10000000000000e-1 1000000000000 + 10000000000000000000000000000000000000e-1 1000000000000000000000000000000000000 +a d38_0 + 0e-11 0 + .00000000000000000000000000000000000001e-11 0 + .00000000000001e-11 0 + .0001e-11 0 + .01e-11 0 + .1e-11 0 + 1e-11 0 + 10e-11 0 + 1000e-11 0 + 10000000000000e-11 100 + 10000000000000000000000000000000000000e-11 100000000000000000000000000 +a d38_0 + 0e-111 0 + .00000000000000000000000000000000000001e-111 0 + .00000000000001e-111 0 + .0001e-111 0 + .01e-111 0 + .1e-111 0 + 1e-111 0 + 10e-111 0 + 1000e-111 0 + 10000000000000e-111 0 + 10000000000000000000000000000000000000e-111 0 +a d38_0 + 0e-1111 0 + .00000000000000000000000000000000000001e-1111 0 + .00000000000001e-1111 0 + .0001e-1111 0 + .01e-1111 0 + .1e-1111 0 + 1e-1111 0 + 10e-1111 0 + 1000e-1111 0 + 10000000000000e-1111 0 + 10000000000000000000000000000000000000e-1111 0 +a d38_0 + 0e-11111 0 + .00000000000000000000000000000000000001e-11111 0 + .00000000000001e-11111 0 + .0001e-11111 0 + .01e-11111 0 + .1e-11111 0 + 1e-11111 0 + 10e-11111 0 + 1000e-11111 0 + 10000000000000e-11111 0 + 10000000000000000000000000000000000000e-11111 0 +a d38_0 + 0e-111111 0 + .00000000000000000000000000000000000001e-111111 0 + .00000000000001e-111111 0 + .0001e-111111 0 + .01e-111111 0 + .1e-111111 0 + 1e-111111 0 + 10e-111111 0 + 1000e-111111 0 + 10000000000000e-111111 0 + 10000000000000000000000000000000000000e-111111 0 +a d38_0 + 0e-1111111 0 + .00000000000000000000000000000000000001e-1111111 0 + .00000000000001e-1111111 0 + .0001e-1111111 0 + .01e-1111111 0 + .1e-1111111 0 + 1e-1111111 0 + 10e-1111111 0 + 1000e-1111111 0 + 10000000000000e-1111111 0 + 10000000000000000000000000000000000000e-1111111 0 +a d38_0 + 0e-11111111 0 + .00000000000000000000000000000000000001e-11111111 0 + .00000000000001e-11111111 0 + .0001e-11111111 0 + .01e-11111111 0 + .1e-11111111 0 + 1e-11111111 0 + 10e-11111111 0 + 1000e-11111111 0 + 10000000000000e-11111111 0 + 10000000000000000000000000000000000000e-11111111 0 +a d38_0 + 0e-111111111 0 + .00000000000000000000000000000000000001e-111111111 0 + .00000000000001e-111111111 0 + .0001e-111111111 0 + .01e-111111111 0 + .1e-111111111 0 + 1e-111111111 0 + 10e-111111111 0 + 1000e-111111111 0 + 10000000000000e-111111111 0 + 10000000000000000000000000000000000000e-111111111 0 +a d38_0 + 0e-1111111111 0 + .00000000000000000000000000000000000001e-1111111111 0 + .00000000000001e-1111111111 0 + .0001e-1111111111 0 + .01e-1111111111 0 + .1e-1111111111 0 + 1e-1111111111 0 + 10e-1111111111 0 + 1000e-1111111111 0 + 10000000000000e-1111111111 0 + 10000000000000000000000000000000000000e-1111111111 0 +a d38_0 + 0e-11111111111 0 + .00000000000000000000000000000000000001e-11111111111 0 + .00000000000001e-11111111111 0 + .0001e-11111111111 0 + .01e-11111111111 0 + .1e-11111111111 0 + 1e-11111111111 0 + 10e-11111111111 0 + 1000e-11111111111 0 + 10000000000000e-11111111111 0 + 10000000000000000000000000000000000000e-11111111111 0 +a d38_0 + 0e-111111111111 0 + .00000000000000000000000000000000000001e-111111111111 0 + .00000000000001e-111111111111 0 + .0001e-111111111111 0 + .01e-111111111111 0 + .1e-111111111111 0 + 1e-111111111111 0 + 10e-111111111111 0 + 1000e-111111111111 0 + 10000000000000e-111111111111 0 + 10000000000000000000000000000000000000e-111111111111 0 +a d38_0 + 0e-1111111111111 0 + .00000000000000000000000000000000000001e-1111111111111 0 + .00000000000001e-1111111111111 0 + .0001e-1111111111111 0 + .01e-1111111111111 0 + .1e-1111111111111 0 + 1e-1111111111111 0 + 10e-1111111111111 0 + 1000e-1111111111111 0 + 10000000000000e-1111111111111 0 + 10000000000000000000000000000000000000e-1111111111111 0 +a d38_0 + 0e-11111111111111 0 + .00000000000000000000000000000000000001e-11111111111111 0 + .00000000000001e-11111111111111 0 + .0001e-11111111111111 0 + .01e-11111111111111 0 + .1e-11111111111111 0 + 1e-11111111111111 0 + 10e-11111111111111 0 + 1000e-11111111111111 0 + 10000000000000e-11111111111111 0 + 10000000000000000000000000000000000000e-11111111111111 0 +a d38_0 + 0e-111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111 0 + .00000000000001e-111111111111111 0 + .0001e-111111111111111 0 + .01e-111111111111111 0 + .1e-111111111111111 0 + 1e-111111111111111 0 + 10e-111111111111111 0 + 1000e-111111111111111 0 + 10000000000000e-111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111 0 +a d38_0 + 0e-1111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111 0 + .00000000000001e-1111111111111111 0 + .0001e-1111111111111111 0 + .01e-1111111111111111 0 + .1e-1111111111111111 0 + 1e-1111111111111111 0 + 10e-1111111111111111 0 + 1000e-1111111111111111 0 + 10000000000000e-1111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111 0 +a d38_0 + 0e-11111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111 0 + .00000000000001e-11111111111111111 0 + .0001e-11111111111111111 0 + .01e-11111111111111111 0 + .1e-11111111111111111 0 + 1e-11111111111111111 0 + 10e-11111111111111111 0 + 1000e-11111111111111111 0 + 10000000000000e-11111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111 0 +a d38_0 + 0e-111111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111111 0 + .00000000000001e-111111111111111111 0 + .0001e-111111111111111111 0 + .01e-111111111111111111 0 + .1e-111111111111111111 0 + 1e-111111111111111111 0 + 10e-111111111111111111 0 + 1000e-111111111111111111 0 + 10000000000000e-111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111 0 +a d38_0 + 0e-1111111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111111 0 + .00000000000001e-1111111111111111111 0 + .0001e-1111111111111111111 0 + .01e-1111111111111111111 0 + .1e-1111111111111111111 0 + 1e-1111111111111111111 0 + 10e-1111111111111111111 0 + 1000e-1111111111111111111 0 + 10000000000000e-1111111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111111 0 +a d38_0 + 0e-11111111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111111 0 + .00000000000001e-11111111111111111111 0 + .0001e-11111111111111111111 0 + .01e-11111111111111111111 0 + .1e-11111111111111111111 0 + 1e-11111111111111111111 0 + 10e-11111111111111111111 0 + 1000e-11111111111111111111 0 + 10000000000000e-11111111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111111 0 +a d38_0 + 0e-111111111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111111111 0 + .00000000000001e-111111111111111111111 0 + .0001e-111111111111111111111 0 + .01e-111111111111111111111 0 + .1e-111111111111111111111 0 + 1e-111111111111111111111 0 + 10e-111111111111111111111 0 + 1000e-111111111111111111111 0 + 10000000000000e-111111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111111 0 +a d38_0 + 0e-1111111111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111111111 0 + .00000000000001e-1111111111111111111111 0 + .0001e-1111111111111111111111 0 + .01e-1111111111111111111111 0 + .1e-1111111111111111111111 0 + 1e-1111111111111111111111 0 + 10e-1111111111111111111111 0 + 1000e-1111111111111111111111 0 + 10000000000000e-1111111111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111111111 0 +a d38_0 + 0e-11111111111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111111111 0 + .00000000000001e-11111111111111111111111 0 + .0001e-11111111111111111111111 0 + .01e-11111111111111111111111 0 + .1e-11111111111111111111111 0 + 1e-11111111111111111111111 0 + 10e-11111111111111111111111 0 + 1000e-11111111111111111111111 0 + 10000000000000e-11111111111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111111111 0 +a d38_0 + 0e-111111111111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111111111111 0 + .00000000000001e-111111111111111111111111 0 + .0001e-111111111111111111111111 0 + .01e-111111111111111111111111 0 + .1e-111111111111111111111111 0 + 1e-111111111111111111111111 0 + 10e-111111111111111111111111 0 + 1000e-111111111111111111111111 0 + 10000000000000e-111111111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111111111 0 +a d38_0 + 0e-1111111111111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111111111111 0 + .00000000000001e-1111111111111111111111111 0 + .0001e-1111111111111111111111111 0 + .01e-1111111111111111111111111 0 + .1e-1111111111111111111111111 0 + 1e-1111111111111111111111111 0 + 10e-1111111111111111111111111 0 + 1000e-1111111111111111111111111 0 + 10000000000000e-1111111111111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111111111111 0 +a d38_0 + 0e-11111111111111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111111111111 0 + .00000000000001e-11111111111111111111111111 0 + .0001e-11111111111111111111111111 0 + .01e-11111111111111111111111111 0 + .1e-11111111111111111111111111 0 + 1e-11111111111111111111111111 0 + 10e-11111111111111111111111111 0 + 1000e-11111111111111111111111111 0 + 10000000000000e-11111111111111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111111111111 0 +a d38_0 + 0e-111111111111111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111111111111111 0 + .00000000000001e-111111111111111111111111111 0 + .0001e-111111111111111111111111111 0 + .01e-111111111111111111111111111 0 + .1e-111111111111111111111111111 0 + 1e-111111111111111111111111111 0 + 10e-111111111111111111111111111 0 + 1000e-111111111111111111111111111 0 + 10000000000000e-111111111111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111111111111 0 +a d38_0 + 0e-1111111111111111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111111111111111 0 + .00000000000001e-1111111111111111111111111111 0 + .0001e-1111111111111111111111111111 0 + .01e-1111111111111111111111111111 0 + .1e-1111111111111111111111111111 0 + 1e-1111111111111111111111111111 0 + 10e-1111111111111111111111111111 0 + 1000e-1111111111111111111111111111 0 + 10000000000000e-1111111111111111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111111111111111 0 +a d38_0 + 0e-11111111111111111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111111111111111 0 + .00000000000001e-11111111111111111111111111111 0 + .0001e-11111111111111111111111111111 0 + .01e-11111111111111111111111111111 0 + .1e-11111111111111111111111111111 0 + 1e-11111111111111111111111111111 0 + 10e-11111111111111111111111111111 0 + 1000e-11111111111111111111111111111 0 + 10000000000000e-11111111111111111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111111111111111 0 +a d38_0 + 0e-111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111111111111111111 0 + .00000000000001e-111111111111111111111111111111 0 + .0001e-111111111111111111111111111111 0 + .01e-111111111111111111111111111111 0 + .1e-111111111111111111111111111111 0 + 1e-111111111111111111111111111111 0 + 10e-111111111111111111111111111111 0 + 1000e-111111111111111111111111111111 0 + 10000000000000e-111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111111111111111 0 +a d38_0 + 0e-1111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111111111111111111 0 + .00000000000001e-1111111111111111111111111111111 0 + .0001e-1111111111111111111111111111111 0 + .01e-1111111111111111111111111111111 0 + .1e-1111111111111111111111111111111 0 + 1e-1111111111111111111111111111111 0 + 10e-1111111111111111111111111111111 0 + 1000e-1111111111111111111111111111111 0 + 10000000000000e-1111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111111111111111111 0 +a d38_0 + 0e-11111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111111111111111111 0 + .00000000000001e-11111111111111111111111111111111 0 + .0001e-11111111111111111111111111111111 0 + .01e-11111111111111111111111111111111 0 + .1e-11111111111111111111111111111111 0 + 1e-11111111111111111111111111111111 0 + 10e-11111111111111111111111111111111 0 + 1000e-11111111111111111111111111111111 0 + 10000000000000e-11111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111111111111111111 0 +a d38_0 + 0e-111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111111111111111111111 0 + .00000000000001e-111111111111111111111111111111111 0 + .0001e-111111111111111111111111111111111 0 + .01e-111111111111111111111111111111111 0 + .1e-111111111111111111111111111111111 0 + 1e-111111111111111111111111111111111 0 + 10e-111111111111111111111111111111111 0 + 1000e-111111111111111111111111111111111 0 + 10000000000000e-111111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111111111111111111 0 +a d38_0 + 0e-1111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111111111111111111111 0 + .00000000000001e-1111111111111111111111111111111111 0 + .0001e-1111111111111111111111111111111111 0 + .01e-1111111111111111111111111111111111 0 + .1e-1111111111111111111111111111111111 0 + 1e-1111111111111111111111111111111111 0 + 10e-1111111111111111111111111111111111 0 + 1000e-1111111111111111111111111111111111 0 + 10000000000000e-1111111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111111111111111111111 0 +a d38_0 + 0e-11111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111111111111111111111 0 + .00000000000001e-11111111111111111111111111111111111 0 + .0001e-11111111111111111111111111111111111 0 + .01e-11111111111111111111111111111111111 0 + .1e-11111111111111111111111111111111111 0 + 1e-11111111111111111111111111111111111 0 + 10e-11111111111111111111111111111111111 0 + 1000e-11111111111111111111111111111111111 0 + 10000000000000e-11111111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111111111111111111111 0 +a d38_0 + 0e-111111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-111111111111111111111111111111111111 0 + .00000000000001e-111111111111111111111111111111111111 0 + .0001e-111111111111111111111111111111111111 0 + .01e-111111111111111111111111111111111111 0 + .1e-111111111111111111111111111111111111 0 + 1e-111111111111111111111111111111111111 0 + 10e-111111111111111111111111111111111111 0 + 1000e-111111111111111111111111111111111111 0 + 10000000000000e-111111111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111111111111111111111 0 +a d38_0 + 0e-1111111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-1111111111111111111111111111111111111 0 + .00000000000001e-1111111111111111111111111111111111111 0 + .0001e-1111111111111111111111111111111111111 0 + .01e-1111111111111111111111111111111111111 0 + .1e-1111111111111111111111111111111111111 0 + 1e-1111111111111111111111111111111111111 0 + 10e-1111111111111111111111111111111111111 0 + 1000e-1111111111111111111111111111111111111 0 + 10000000000000e-1111111111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-1111111111111111111111111111111111111 0 +a d38_0 + 0e-11111111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e-11111111111111111111111111111111111111 0 + .00000000000001e-11111111111111111111111111111111111111 0 + .0001e-11111111111111111111111111111111111111 0 + .01e-11111111111111111111111111111111111111 0 + .1e-11111111111111111111111111111111111111 0 + 1e-11111111111111111111111111111111111111 0 + 10e-11111111111111111111111111111111111111 0 + 1000e-11111111111111111111111111111111111111 0 + 10000000000000e-11111111111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-11111111111111111111111111111111111111 0 +a d38_0 + 0e-111111111111111111111111111111111111111 0 +.00000000000000000000000000000000000001e-111111111111111111111111111111111111111 0 + .00000000000001e-111111111111111111111111111111111111111 0 + .0001e-111111111111111111111111111111111111111 0 + .01e-111111111111111111111111111111111111111 0 + .1e-111111111111111111111111111111111111111 0 + 1e-111111111111111111111111111111111111111 0 + 10e-111111111111111111111111111111111111111 0 + 1000e-111111111111111111111111111111111111111 0 + 10000000000000e-111111111111111111111111111111111111111 0 + 10000000000000000000000000000000000000e-111111111111111111111111111111111111111 0 +a d38_0 + 0e-1111111111111111111111111111111111111111 0 +.00000000000000000000000000000000000001e-111111111111111111111111111111111111111 0 + .00000000000001e-1111111111111111111111111111111111111111 0 + .0001e-1111111111111111111111111111111111111111 0 + .01e-1111111111111111111111111111111111111111 0 + .1e-1111111111111111111111111111111111111111 0 + 1e-1111111111111111111111111111111111111111 0 + 10e-1111111111111111111111111111111111111111 0 + 1000e-1111111111111111111111111111111111111111 0 + 10000000000000e-1111111111111111111111111111111111111111 0 +10000000000000000000000000000000000000e-1111111111111111111111111111111111111111 0 +FOR i IN 1..40 DO +BEGIN +DECLARE exponent VARCHAR(128) DEFAULT REPEAT('1',i); +SELECT LPAD(CONCAT(mantissa, 'e', exponent),80) AS a, CAST(CONCAT(mantissa, 'e', exponent) AS DECIMAL(38,0)) AS d38_0 FROM t1 ORDER BY CAST(mantissa AS DOUBLE); +END; +END FOR; +$$ +a d38_0 + 0e1 0 + .00000000000000000000000000000000000001e1 0 + .00000000000001e1 0 + .0001e1 0 + .01e1 0 + .1e1 1 + 1e1 10 + 10e1 100 + 1000e1 10000 + 10000000000000e1 100000000000000 + 10000000000000000000000000000000000000e1 99999999999999999999999999999999999999 +a d38_0 + 0e11 0 + .00000000000000000000000000000000000001e11 0 + .00000000000001e11 0 + .0001e11 10000000 + .01e11 1000000000 + .1e11 10000000000 + 1e11 100000000000 + 10e11 1000000000000 + 1000e11 100000000000000 + 10000000000000e11 1000000000000000000000000 + 10000000000000000000000000000000000000e11 99999999999999999999999999999999999999 +a d38_0 + 0e111 0 + .00000000000000000000000000000000000001e111 99999999999999999999999999999999999999 + .00000000000001e111 99999999999999999999999999999999999999 + .0001e111 99999999999999999999999999999999999999 + .01e111 99999999999999999999999999999999999999 + .1e111 99999999999999999999999999999999999999 + 1e111 99999999999999999999999999999999999999 + 10e111 99999999999999999999999999999999999999 + 1000e111 99999999999999999999999999999999999999 + 10000000000000e111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111 99999999999999999999999999999999999999 +a d38_0 + 0e1111 0 + .00000000000000000000000000000000000001e1111 99999999999999999999999999999999999999 + .00000000000001e1111 99999999999999999999999999999999999999 + .0001e1111 99999999999999999999999999999999999999 + .01e1111 99999999999999999999999999999999999999 + .1e1111 99999999999999999999999999999999999999 + 1e1111 99999999999999999999999999999999999999 + 10e1111 99999999999999999999999999999999999999 + 1000e1111 99999999999999999999999999999999999999 + 10000000000000e1111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111 99999999999999999999999999999999999999 +a d38_0 + 0e11111 0 + .00000000000000000000000000000000000001e11111 99999999999999999999999999999999999999 + .00000000000001e11111 99999999999999999999999999999999999999 + .0001e11111 99999999999999999999999999999999999999 + .01e11111 99999999999999999999999999999999999999 + .1e11111 99999999999999999999999999999999999999 + 1e11111 99999999999999999999999999999999999999 + 10e11111 99999999999999999999999999999999999999 + 1000e11111 99999999999999999999999999999999999999 + 10000000000000e11111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111 99999999999999999999999999999999999999 +a d38_0 + 0e111111 0 + .00000000000000000000000000000000000001e111111 99999999999999999999999999999999999999 + .00000000000001e111111 99999999999999999999999999999999999999 + .0001e111111 99999999999999999999999999999999999999 + .01e111111 99999999999999999999999999999999999999 + .1e111111 99999999999999999999999999999999999999 + 1e111111 99999999999999999999999999999999999999 + 10e111111 99999999999999999999999999999999999999 + 1000e111111 99999999999999999999999999999999999999 + 10000000000000e111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111 0 + .00000000000000000000000000000000000001e1111111 99999999999999999999999999999999999999 + .00000000000001e1111111 99999999999999999999999999999999999999 + .0001e1111111 99999999999999999999999999999999999999 + .01e1111111 99999999999999999999999999999999999999 + .1e1111111 99999999999999999999999999999999999999 + 1e1111111 99999999999999999999999999999999999999 + 10e1111111 99999999999999999999999999999999999999 + 1000e1111111 99999999999999999999999999999999999999 + 10000000000000e1111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111 0 + .00000000000000000000000000000000000001e11111111 99999999999999999999999999999999999999 + .00000000000001e11111111 99999999999999999999999999999999999999 + .0001e11111111 99999999999999999999999999999999999999 + .01e11111111 99999999999999999999999999999999999999 + .1e11111111 99999999999999999999999999999999999999 + 1e11111111 99999999999999999999999999999999999999 + 10e11111111 99999999999999999999999999999999999999 + 1000e11111111 99999999999999999999999999999999999999 + 10000000000000e11111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111 0 + .00000000000000000000000000000000000001e111111111 99999999999999999999999999999999999999 + .00000000000001e111111111 99999999999999999999999999999999999999 + .0001e111111111 99999999999999999999999999999999999999 + .01e111111111 99999999999999999999999999999999999999 + .1e111111111 99999999999999999999999999999999999999 + 1e111111111 99999999999999999999999999999999999999 + 10e111111111 99999999999999999999999999999999999999 + 1000e111111111 99999999999999999999999999999999999999 + 10000000000000e111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111 0 + .00000000000000000000000000000000000001e1111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111 99999999999999999999999999999999999999 + .0001e1111111111 99999999999999999999999999999999999999 + .01e1111111111 99999999999999999999999999999999999999 + .1e1111111111 99999999999999999999999999999999999999 + 1e1111111111 99999999999999999999999999999999999999 + 10e1111111111 99999999999999999999999999999999999999 + 1000e1111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111 0 + .00000000000000000000000000000000000001e11111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111 99999999999999999999999999999999999999 + .0001e11111111111 99999999999999999999999999999999999999 + .01e11111111111 99999999999999999999999999999999999999 + .1e11111111111 99999999999999999999999999999999999999 + 1e11111111111 99999999999999999999999999999999999999 + 10e11111111111 99999999999999999999999999999999999999 + 1000e11111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111 0 + .00000000000000000000000000000000000001e111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111 99999999999999999999999999999999999999 + .0001e111111111111 99999999999999999999999999999999999999 + .01e111111111111 99999999999999999999999999999999999999 + .1e111111111111 99999999999999999999999999999999999999 + 1e111111111111 99999999999999999999999999999999999999 + 10e111111111111 99999999999999999999999999999999999999 + 1000e111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111 0 + .00000000000000000000000000000000000001e1111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111 99999999999999999999999999999999999999 + .0001e1111111111111 99999999999999999999999999999999999999 + .01e1111111111111 99999999999999999999999999999999999999 + .1e1111111111111 99999999999999999999999999999999999999 + 1e1111111111111 99999999999999999999999999999999999999 + 10e1111111111111 99999999999999999999999999999999999999 + 1000e1111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111 0 + .00000000000000000000000000000000000001e11111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111 99999999999999999999999999999999999999 + .0001e11111111111111 99999999999999999999999999999999999999 + .01e11111111111111 99999999999999999999999999999999999999 + .1e11111111111111 99999999999999999999999999999999999999 + 1e11111111111111 99999999999999999999999999999999999999 + 10e11111111111111 99999999999999999999999999999999999999 + 1000e11111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111 0 + .00000000000000000000000000000000000001e111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111 99999999999999999999999999999999999999 + .01e111111111111111 99999999999999999999999999999999999999 + .1e111111111111111 99999999999999999999999999999999999999 + 1e111111111111111 99999999999999999999999999999999999999 + 10e111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e11111111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e11111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e11111111111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e111111111111111111111111111111111111111 0 + .00000000000000000000000000000000000001e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e111111111111111111111111111111111111111 99999999999999999999999999999999999999 +a d38_0 + 0e1111111111111111111111111111111111111111 0 +.00000000000000000000000000000000000001e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .00000000000001e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .0001e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .01e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + .1e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 1000e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 + 10000000000000000000000000000000000000e1111111111111111111111111111111111111111 99999999999999999999999999999999999999 +DROP TABLE t1; +# +# MCOL-4532 CAST(AS DECIMAL) returns a garbage for large values +# +CREATE TABLE t1 (a VARCHAR(64)) ENGINE=ColumnStore; +FOR i IN 1..9 DO +INSERT INTO t1 VALUES (REPEAT(i,37)); +INSERT INTO t1 VALUES (REPEAT(i,38)); +INSERT INTO t1 VALUES (REPEAT(i,39)); +END FOR; +$$ +SELECT LENGTH(a), a, CAST(a AS DECIMAL(37,1)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(a AS DECIMAL(37,1)) +37 1111111111111111111111111111111111111 999999999999999999999999999999999999.9 +37 2222222222222222222222222222222222222 999999999999999999999999999999999999.9 +37 3333333333333333333333333333333333333 999999999999999999999999999999999999.9 +37 4444444444444444444444444444444444444 999999999999999999999999999999999999.9 +37 5555555555555555555555555555555555555 999999999999999999999999999999999999.9 +37 6666666666666666666666666666666666666 999999999999999999999999999999999999.9 +37 7777777777777777777777777777777777777 999999999999999999999999999999999999.9 +37 8888888888888888888888888888888888888 999999999999999999999999999999999999.9 +37 9999999999999999999999999999999999999 999999999999999999999999999999999999.9 +38 11111111111111111111111111111111111111 999999999999999999999999999999999999.9 +38 22222222222222222222222222222222222222 999999999999999999999999999999999999.9 +38 33333333333333333333333333333333333333 999999999999999999999999999999999999.9 +38 44444444444444444444444444444444444444 999999999999999999999999999999999999.9 +38 55555555555555555555555555555555555555 999999999999999999999999999999999999.9 +38 66666666666666666666666666666666666666 999999999999999999999999999999999999.9 +38 77777777777777777777777777777777777777 999999999999999999999999999999999999.9 +38 88888888888888888888888888888888888888 999999999999999999999999999999999999.9 +38 99999999999999999999999999999999999999 999999999999999999999999999999999999.9 +39 111111111111111111111111111111111111111 999999999999999999999999999999999999.9 +39 222222222222222222222222222222222222222 999999999999999999999999999999999999.9 +39 333333333333333333333333333333333333333 999999999999999999999999999999999999.9 +39 444444444444444444444444444444444444444 999999999999999999999999999999999999.9 +39 555555555555555555555555555555555555555 999999999999999999999999999999999999.9 +39 666666666666666666666666666666666666666 999999999999999999999999999999999999.9 +39 777777777777777777777777777777777777777 999999999999999999999999999999999999.9 +39 888888888888888888888888888888888888888 999999999999999999999999999999999999.9 +39 999999999999999999999999999999999999999 999999999999999999999999999999999999.9 +SELECT LENGTH(a), a, CAST(a AS DECIMAL(37,2)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(a AS DECIMAL(37,2)) +37 1111111111111111111111111111111111111 99999999999999999999999999999999999.99 +37 2222222222222222222222222222222222222 99999999999999999999999999999999999.99 +37 3333333333333333333333333333333333333 99999999999999999999999999999999999.99 +37 4444444444444444444444444444444444444 99999999999999999999999999999999999.99 +37 5555555555555555555555555555555555555 99999999999999999999999999999999999.99 +37 6666666666666666666666666666666666666 99999999999999999999999999999999999.99 +37 7777777777777777777777777777777777777 99999999999999999999999999999999999.99 +37 8888888888888888888888888888888888888 99999999999999999999999999999999999.99 +37 9999999999999999999999999999999999999 99999999999999999999999999999999999.99 +38 11111111111111111111111111111111111111 99999999999999999999999999999999999.99 +38 22222222222222222222222222222222222222 99999999999999999999999999999999999.99 +38 33333333333333333333333333333333333333 99999999999999999999999999999999999.99 +38 44444444444444444444444444444444444444 99999999999999999999999999999999999.99 +38 55555555555555555555555555555555555555 99999999999999999999999999999999999.99 +38 66666666666666666666666666666666666666 99999999999999999999999999999999999.99 +38 77777777777777777777777777777777777777 99999999999999999999999999999999999.99 +38 88888888888888888888888888888888888888 99999999999999999999999999999999999.99 +38 99999999999999999999999999999999999999 99999999999999999999999999999999999.99 +39 111111111111111111111111111111111111111 99999999999999999999999999999999999.99 +39 222222222222222222222222222222222222222 99999999999999999999999999999999999.99 +39 333333333333333333333333333333333333333 99999999999999999999999999999999999.99 +39 444444444444444444444444444444444444444 99999999999999999999999999999999999.99 +39 555555555555555555555555555555555555555 99999999999999999999999999999999999.99 +39 666666666666666666666666666666666666666 99999999999999999999999999999999999.99 +39 777777777777777777777777777777777777777 99999999999999999999999999999999999.99 +39 888888888888888888888888888888888888888 99999999999999999999999999999999999.99 +39 999999999999999999999999999999999999999 99999999999999999999999999999999999.99 +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,0)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(a AS DECIMAL(38,0)) +37 1111111111111111111111111111111111111 1111111111111111111111111111111111111 +37 2222222222222222222222222222222222222 2222222222222222222222222222222222222 +37 3333333333333333333333333333333333333 3333333333333333333333333333333333333 +37 4444444444444444444444444444444444444 4444444444444444444444444444444444444 +37 5555555555555555555555555555555555555 5555555555555555555555555555555555555 +37 6666666666666666666666666666666666666 6666666666666666666666666666666666666 +37 7777777777777777777777777777777777777 7777777777777777777777777777777777777 +37 8888888888888888888888888888888888888 8888888888888888888888888888888888888 +37 9999999999999999999999999999999999999 9999999999999999999999999999999999999 +38 11111111111111111111111111111111111111 11111111111111111111111111111111111111 +38 22222222222222222222222222222222222222 22222222222222222222222222222222222222 +38 33333333333333333333333333333333333333 33333333333333333333333333333333333333 +38 44444444444444444444444444444444444444 44444444444444444444444444444444444444 +38 55555555555555555555555555555555555555 55555555555555555555555555555555555555 +38 66666666666666666666666666666666666666 66666666666666666666666666666666666666 +38 77777777777777777777777777777777777777 77777777777777777777777777777777777777 +38 88888888888888888888888888888888888888 88888888888888888888888888888888888888 +38 99999999999999999999999999999999999999 99999999999999999999999999999999999999 +39 111111111111111111111111111111111111111 99999999999999999999999999999999999999 +39 222222222222222222222222222222222222222 99999999999999999999999999999999999999 +39 333333333333333333333333333333333333333 99999999999999999999999999999999999999 +39 444444444444444444444444444444444444444 99999999999999999999999999999999999999 +39 555555555555555555555555555555555555555 99999999999999999999999999999999999999 +39 666666666666666666666666666666666666666 99999999999999999999999999999999999999 +39 777777777777777777777777777777777777777 99999999999999999999999999999999999999 +39 888888888888888888888888888888888888888 99999999999999999999999999999999999999 +39 999999999999999999999999999999999999999 99999999999999999999999999999999999999 +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,1)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(a AS DECIMAL(38,1)) +37 1111111111111111111111111111111111111 1111111111111111111111111111111111111.0 +37 2222222222222222222222222222222222222 2222222222222222222222222222222222222.0 +37 3333333333333333333333333333333333333 3333333333333333333333333333333333333.0 +37 4444444444444444444444444444444444444 4444444444444444444444444444444444444.0 +37 5555555555555555555555555555555555555 5555555555555555555555555555555555555.0 +37 6666666666666666666666666666666666666 6666666666666666666666666666666666666.0 +37 7777777777777777777777777777777777777 7777777777777777777777777777777777777.0 +37 8888888888888888888888888888888888888 8888888888888888888888888888888888888.0 +37 9999999999999999999999999999999999999 9999999999999999999999999999999999999.0 +38 11111111111111111111111111111111111111 9999999999999999999999999999999999999.9 +38 22222222222222222222222222222222222222 9999999999999999999999999999999999999.9 +38 33333333333333333333333333333333333333 9999999999999999999999999999999999999.9 +38 44444444444444444444444444444444444444 9999999999999999999999999999999999999.9 +38 55555555555555555555555555555555555555 9999999999999999999999999999999999999.9 +38 66666666666666666666666666666666666666 9999999999999999999999999999999999999.9 +38 77777777777777777777777777777777777777 9999999999999999999999999999999999999.9 +38 88888888888888888888888888888888888888 9999999999999999999999999999999999999.9 +38 99999999999999999999999999999999999999 9999999999999999999999999999999999999.9 +39 111111111111111111111111111111111111111 9999999999999999999999999999999999999.9 +39 222222222222222222222222222222222222222 9999999999999999999999999999999999999.9 +39 333333333333333333333333333333333333333 9999999999999999999999999999999999999.9 +39 444444444444444444444444444444444444444 9999999999999999999999999999999999999.9 +39 555555555555555555555555555555555555555 9999999999999999999999999999999999999.9 +39 666666666666666666666666666666666666666 9999999999999999999999999999999999999.9 +39 777777777777777777777777777777777777777 9999999999999999999999999999999999999.9 +39 888888888888888888888888888888888888888 9999999999999999999999999999999999999.9 +39 999999999999999999999999999999999999999 9999999999999999999999999999999999999.9 +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +LENGTH(a) a CAST(a AS DECIMAL(38,2)) +37 1111111111111111111111111111111111111 999999999999999999999999999999999999.99 +37 2222222222222222222222222222222222222 999999999999999999999999999999999999.99 +37 3333333333333333333333333333333333333 999999999999999999999999999999999999.99 +37 4444444444444444444444444444444444444 999999999999999999999999999999999999.99 +37 5555555555555555555555555555555555555 999999999999999999999999999999999999.99 +37 6666666666666666666666666666666666666 999999999999999999999999999999999999.99 +37 7777777777777777777777777777777777777 999999999999999999999999999999999999.99 +37 8888888888888888888888888888888888888 999999999999999999999999999999999999.99 +37 9999999999999999999999999999999999999 999999999999999999999999999999999999.99 +38 11111111111111111111111111111111111111 999999999999999999999999999999999999.99 +38 22222222222222222222222222222222222222 999999999999999999999999999999999999.99 +38 33333333333333333333333333333333333333 999999999999999999999999999999999999.99 +38 44444444444444444444444444444444444444 999999999999999999999999999999999999.99 +38 55555555555555555555555555555555555555 999999999999999999999999999999999999.99 +38 66666666666666666666666666666666666666 999999999999999999999999999999999999.99 +38 77777777777777777777777777777777777777 999999999999999999999999999999999999.99 +38 88888888888888888888888888888888888888 999999999999999999999999999999999999.99 +38 99999999999999999999999999999999999999 999999999999999999999999999999999999.99 +39 111111111111111111111111111111111111111 999999999999999999999999999999999999.99 +39 222222222222222222222222222222222222222 999999999999999999999999999999999999.99 +39 333333333333333333333333333333333333333 999999999999999999999999999999999999.99 +39 444444444444444444444444444444444444444 999999999999999999999999999999999999.99 +39 555555555555555555555555555555555555555 999999999999999999999999999999999999.99 +39 666666666666666666666666666666666666666 999999999999999999999999999999999999.99 +39 777777777777777777777777777777777777777 999999999999999999999999999999999999.99 +39 888888888888888888888888888888888888888 999999999999999999999999999999999999.99 +39 999999999999999999999999999999999999999 999999999999999999999999999999999999.99 +DROP TABLE t1; +# +# MCOL-4500 Bit functions processing throws internally trying to cast char into decimal representation +# +CREATE TABLE t1 (d decimal(18,2), c char(1)); +INSERT INTO t1 VALUES (42, 'z'); +SELECT d & c FROM t1; +d & c +0 +DROP TABLE t1; +# +# MDEV-24790 CAST('0e1111111111' AS DECIMAL(38,0)) returns a wrong result +# +CREATE TABLE t1 (a VARCHAR(128)); +INSERT INTO t1 VALUES +('0e111111111'), +('0e1111111111'), +('.00000000000000000000000000000000000000e111111111111111111111'), +('.00000000000000000000000000000000000001e111111111111111111111'), +('0e-111111111'), +('0e-1111111111'), +('.00000000000000000000000000000000000000e-111111111111111111111'), +('.00000000000000000000000000000000000001e-111111111111111111111'); +SELECT a, CAST(a AS DECIMAL(38,0)) FROM t1 ORDER BY LENGTH(a), a; +a CAST(a AS DECIMAL(38,0)) +0e111111111 0 +0e-111111111 0 +0e1111111111 0 +0e-1111111111 0 +.00000000000000000000000000000000000000e111111111111111111111 0 +.00000000000000000000000000000000000001e111111111111111111111 99999999999999999999999999999999999999 +.00000000000000000000000000000000000000e-111111111111111111111 0 +.00000000000000000000000000000000000001e-111111111111111111111 0 +DROP TABLE t1; diff --git a/mtr/basic/t/type_decimal.test b/mtr/basic/t/type_decimal.test new file mode 100644 index 000000000..a3942fbac --- /dev/null +++ b/mtr/basic/t/type_decimal.test @@ -0,0 +1,194 @@ +--source ../include/have_columnstore.inc +--source ../include/combinations.myisam-columnstore.inc + +#CREATE TABLE t1 (a INT) ENGINE=ColumnStore COMMENT='SCHEMA SYNC ONLY'; +#DROP TABLE t1; + +--echo # +--echo # MCOL-4531 New string-to-decimal conversion implementation +--echo # + +--echo # Garbage at various places of the grammar + +CREATE TABLE t1 (a VARCHAR(128)); + +INSERT INTO t1 VALUES +(' '), +(' garbage'), +('garbage'); + +# := [ ] +INSERT INTO t1 VALUES +('+garbage'), +('-garbage'), +('1garbage'), +('+1garbage'), +('-1garbage'); + +# ::= [ E ] +INSERT INTO t1 VALUES +('1garbage'), +('1egarbage'), +('1Egarbage'), +('1e+garbage'), +('1E-garbage'), +('1e+0garbage'), +('1E-0garbage'); + + +# ::= +# [ [ ] ] +# | + +INSERT INTO t1 VALUES +('1.garbage'), +('1.1garbage'); + +INSERT INTO t1 VALUES +('.garbage'), +('.1garbage'); + +--disable_warnings +SELECT CAST(a AS DECIMAL(20,2)), a FROM t1; +--enable_warnings + +DROP TABLE t1; + + +--echo # Testing various mantissa values + +CREATE TABLE t1 (a VARCHAR(128)); + +BEGIN; +DELIMITER $$; +FOR i IN 1..40 DO + INSERT INTO t1 VALUES (REPEAT('9',i)); + INSERT INTO t1 VALUES (REPEAT('8',i)); + INSERT INTO t1 VALUES (REPEAT('7',i)); + INSERT INTO t1 VALUES (REPEAT('6',i)); + INSERT INTO t1 VALUES (REPEAT('5',i)); + INSERT INTO t1 VALUES (REPEAT('4',i)); + INSERT INTO t1 VALUES (REPEAT('3',i)); + INSERT INTO t1 VALUES (REPEAT('2',i)); + INSERT INTO t1 VALUES (REPEAT('1',i)); +END FOR; +$$ +DELIMITER ;$$ +COMMIT; + +--disable_warnings +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +SELECT LENGTH(a), a, CAST(CONCAT('+',a) AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +SELECT LENGTH(a), a, CAST(CONCAT('-',a) AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +--enable_warnings + +DROP TABLE t1; + + +--echo # Testing various exponent values + +CREATE TABLE t1 (mantissa VARCHAR(128)); + +BEGIN; +INSERT INTO t1 VALUES ('10000000000000000000000000000000000000'); +INSERT INTO t1 VALUES ('10000000000000'); +INSERT INTO t1 VALUES ('1000'); +INSERT INTO t1 VALUES ('10'); +INSERT INTO t1 VALUES ('1'); +INSERT INTO t1 VALUES ('0'); +INSERT INTO t1 VALUES ('.1'); +INSERT INTO t1 VALUES ('.01'); +INSERT INTO t1 VALUES ('.0001'); +INSERT INTO t1 VALUES ('.00000000000001'); +INSERT INTO t1 VALUES ('.00000000000000000000000000000000000001'); +COMMIT; + +--disable_warnings +DELIMITER $$; +FOR exponent IN -50..50 DO + SELECT LPAD(CONCAT(mantissa, 'e', exponent),50) AS a, CAST(CONCAT(mantissa, 'e', exponent) AS DECIMAL(38,0)) AS d38_0 FROM t1 ORDER BY CAST(mantissa AS DOUBLE); +END FOR; +$$ +DELIMITER ;$$ +--enable_warnings + + +--disable_warnings +DELIMITER $$; +FOR i IN 1..40 DO + BEGIN + DECLARE exponent VARCHAR(128) DEFAULT CONCAT('-',REPEAT('1',i)); + SELECT LPAD(CONCAT(mantissa, 'e', exponent),80) AS a, CAST(CONCAT(mantissa, 'e', exponent) AS DECIMAL(38,0)) AS d38_0 FROM t1 ORDER BY CAST(mantissa AS DOUBLE); + END; +END FOR; +$$ +DELIMITER ;$$ +--enable_warnings + + +--disable_warnings +DELIMITER $$; +FOR i IN 1..40 DO + BEGIN + DECLARE exponent VARCHAR(128) DEFAULT REPEAT('1',i); + SELECT LPAD(CONCAT(mantissa, 'e', exponent),80) AS a, CAST(CONCAT(mantissa, 'e', exponent) AS DECIMAL(38,0)) AS d38_0 FROM t1 ORDER BY CAST(mantissa AS DOUBLE); + END; +END FOR; +$$ +DELIMITER ;$$ +--enable_warnings + +DROP TABLE t1; + + +--echo # +--echo # MCOL-4532 CAST(AS DECIMAL) returns a garbage for large values +--echo # + +CREATE TABLE t1 (a VARCHAR(64)) ENGINE=ColumnStore; +DELIMITER $$; +FOR i IN 1..9 DO + INSERT INTO t1 VALUES (REPEAT(i,37)); + INSERT INTO t1 VALUES (REPEAT(i,38)); + INSERT INTO t1 VALUES (REPEAT(i,39)); +END FOR; +$$ +DELIMITER ;$$ +SELECT LENGTH(a), a, CAST(a AS DECIMAL(37,1)) FROM t1 ORDER BY LENGTH(a), a; +SELECT LENGTH(a), a, CAST(a AS DECIMAL(37,2)) FROM t1 ORDER BY LENGTH(a), a; +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,0)) FROM t1 ORDER BY LENGTH(a), a; +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,1)) FROM t1 ORDER BY LENGTH(a), a; +SELECT LENGTH(a), a, CAST(a AS DECIMAL(38,2)) FROM t1 ORDER BY LENGTH(a), a; +DROP TABLE t1; + + +--echo # +--echo # MCOL-4500 Bit functions processing throws internally trying to cast char into decimal representation +--echo # + +CREATE TABLE t1 (d decimal(18,2), c char(1)); +INSERT INTO t1 VALUES (42, 'z'); +--disable_warnings +SELECT d & c FROM t1; +--enable_warnings +DROP TABLE t1; + + +--echo # +--echo # MDEV-24790 CAST('0e1111111111' AS DECIMAL(38,0)) returns a wrong result +--echo # + +CREATE TABLE t1 (a VARCHAR(128)); +INSERT INTO t1 VALUES +('0e111111111'), +('0e1111111111'), +('.00000000000000000000000000000000000000e111111111111111111111'), +('.00000000000000000000000000000000000001e111111111111111111111'), +('0e-111111111'), +('0e-1111111111'), +('.00000000000000000000000000000000000000e-111111111111111111111'), +('.00000000000000000000000000000000000001e-111111111111111111111'); +--disable_warnings +SELECT a, CAST(a AS DECIMAL(38,0)) FROM t1 ORDER BY LENGTH(a), a; +--enable_warnings +DROP TABLE t1;