81 lines
8.5 KiB
SQL
81 lines
8.5 KiB
SQL
# name: test/sql/function/string/hex.test
|
|
# description: Test the to_hex/from_hex function
|
|
# group: [string]
|
|
|
|
statement ok
|
|
PRAGMA enable_verification
|
|
|
|
query I
|
|
SELECT to_hex('duckdb');
|
|
----
|
|
6475636B6462
|
|
|
|
query I
|
|
SELECT hex(unhex('abcd'));
|
|
----
|
|
ABCD
|
|
|
|
query I
|
|
SELECT hex(blob '\x00\x00\x80');
|
|
----
|
|
000080
|
|
|
|
query I
|
|
SELECT from_hex('6475636B6462');
|
|
----
|
|
duckdb
|
|
|
|
query I
|
|
SELECT from_hex('5');
|
|
----
|
|
\x05
|
|
|
|
#Test hex/unhex
|
|
query I
|
|
SELECT unhex(hex('duckdb'))
|
|
----
|
|
duckdb
|
|
|
|
# Test Invalid input
|
|
statement error
|
|
SELECT from_hex('duckdb');
|
|
----
|
|
|
|
query IIIIIIIIIIII
|
|
SELECT to_hex(columns('^(.*int|varchar|bignum)$')) FROM test_all_types();
|
|
----
|
|
FFFFFFFFFFFFFF80 FFFFFFFFFFFF8000 FFFFFFFF80000000 8000000000000000 80000000000000000000000000000000 0 0 0 0 0 7FFF7F00000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F09FA686F09FA686F09FA686F09FA686F09FA686F09FA686
|
|
7F 7FFF 7FFFFFFF 7FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF FFFF FFFFFFFF FFFFFFFFFFFFFFFF 800080FFFFFFFFFFFFF800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 676F6F007365
|
|
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
|
|
|
query IIIIIIIIIIII
|
|
SELECT from_hex(to_hex(columns('^(.*int|varchar|bignum)$'))) FROM test_all_types();
|
|
----
|
|
\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80 \xFF\xFF\xFF\xFF\xFF\xFF\x80\x00 \xFF\xFF\xFF\xFF\x80\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00 \x00 \x00 \x00 \x00 \x7F\xFF\x7F\x00\x00\x00\x00\x00\x00\x07\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86
|
|
\x7F \x7F\xFF \x7F\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF \xFF\xFF \xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x80\x00\x80\xFF\xFF\xFF\xFF\xFF\xFF\xF8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 goo\x00se
|
|
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
|
|
|
query I
|
|
SELECT to_binary('duckdb');
|
|
----
|
|
011001000111010101100011011010110110010001100010
|
|
|
|
query I
|
|
SELECT from_binary('011001000111010101100011011010110110010001100010');
|
|
----
|
|
duckdb
|
|
|
|
query IIIIIIIIIIII
|
|
SELECT to_binary(columns('^(.*int|varchar|bignum)$')) FROM test_all_types();
|
|
----
|
|
1111111111111111111111111111111111111111111111111111111110000000 1111111111111111111111111111111111111111111111111000000000000000 1111111111111111111111111111111110000000000000000000000000000000 1000000000000000000000000000000000000000000000000000000000000000 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0 0 0111111111111111011111110000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111100001001111110100110100001101111000010011111101001101000011011110000100111111010011010000110111100001001111110100110100001101111000010011111101001101000011011110000100111111010011010000110
|
|
1111111 111111111111111 1111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111 1111111111111111 11111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1000000000000000100000001111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 011001110110111101101111000000000111001101100101
|
|
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
|
|
|
query IIIIIIIIIIII
|
|
SELECT from_binary(to_binary(columns('^(.*int|varchar|bignum)$'))) FROM test_all_types();
|
|
----
|
|
\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80 \xFF\xFF\xFF\xFF\xFF\xFF\x80\x00 \xFF\xFF\xFF\xFF\x80\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00 \x00 \x00 \x00 \x00 \x7F\xFF\x7F\x00\x00\x00\x00\x00\x00\x07\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86
|
|
\x7F \x7F\xFF \x7F\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF \xFF\xFF \xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x80\x00\x80\xFF\xFF\xFF\xFF\xFF\xFF\xF8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 goo\x00se
|
|
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|