@@ -2,27 +2,33 @@ SET time_zone='+00:00';
22#
33# UUIDv1 with known timestamps
44#
5- SELECT UUID_TIMESTAMP('63b00000-bfde-11d3-80fe-9f59977b836e');
6- UUID_TIMESTAMP('63b00000-bfde-11d3-80fe-9f59977b836e')
7- 2000-01-01 00:00:00.000000
8- SELECT UUID_TIMESTAMP('16488880-2b13-11ef-808b-603c7ba5e656');
9- UUID_TIMESTAMP('16488880-2b13-11ef-808b-603c7ba5e656')
10- 2024-06-15 12:30:45.000000
11- SELECT UUID_TIMESTAMP('d02b2980-e6a4-11f0-8072-39f36896a88f');
12- UUID_TIMESTAMP('d02b2980-e6a4-11f0-8072-39f36896a88f')
13- 2025-12-31 23:59:59.000000
5+ SELECT '4bd352dc-e593-11f0-8de9-0242ac120002' AS uuid,
6+ UUID_TIMESTAMP('4bd352dc-e593-11f0-8de9-0242ac120002') AS ts;
7+ uuid ts
8+ 4bd352dc-e593-11f0-8de9-0242ac120002 2025-12-30 15:22:04.357910
9+ SELECT 'bec1046a-e593-11f0-8de9-0242ac120002' AS uuid,
10+ UUID_TIMESTAMP('bec1046a-e593-11f0-8de9-0242ac120002') AS ts;
11+ uuid ts
12+ bec1046a-e593-11f0-8de9-0242ac120002 2025-12-30 15:25:17.175921
13+ SELECT 'c28c09a0-e593-11f0-8de9-0242ac120002' AS uuid,
14+ UUID_TIMESTAMP('c28c09a0-e593-11f0-8de9-0242ac120002') AS ts;
15+ uuid ts
16+ c28c09a0-e593-11f0-8de9-0242ac120002 2025-12-30 15:25:23.539600
1417#
1518# UUIDv7 with known timestamps (ms precision)
1619#
17- SELECT UUID_TIMESTAMP('00dc6acf-ac00-737d-9f12-3229a718bf21');
18- UUID_TIMESTAMP('00dc6acf-ac00-737d-9f12-3229a718bf21')
19- 2000-01-01 00:00:00.000000
20- SELECT UUID_TIMESTAMP('01901be0-f183-7e6c-9601-62a5e4f6e7b8');
21- UUID_TIMESTAMP('01901be0-f183-7e6c-9601-62a5e4f6e7b8')
22- 2024-06-15 12:30:45.123000
23- SELECT UUID_TIMESTAMP('019b76da-a7ff-7ece-a98f-44624a8d3b0f');
24- UUID_TIMESTAMP('019b76da-a7ff-7ece-a98f-44624a8d3b0f')
25- 2025-12-31 23:59:59.999000
20+ SELECT '019b6fdd-4937-7bb5-95c7-53363c6df927' AS uuid,
21+ UUID_TIMESTAMP('019b6fdd-4937-7bb5-95c7-53363c6df927') AS ts;
22+ uuid ts
23+ 019b6fdd-4937-7bb5-95c7-53363c6df927 2025-12-30 15:25:31.831000
24+ SELECT '019b6fdd-5f17-7cf2-b034-248b9c207db6' AS uuid,
25+ UUID_TIMESTAMP('019b6fdd-5f17-7cf2-b034-248b9c207db6') AS ts;
26+ uuid ts
27+ 019b6fdd-5f17-7cf2-b034-248b9c207db6 2025-12-30 15:25:37.431000
28+ SELECT '019b6fdd-7327-7a5b-935c-4de00dd0e7c6' AS uuid,
29+ UUID_TIMESTAMP('019b6fdd-7327-7a5b-935c-4de00dd0e7c6') AS ts;
30+ uuid ts
31+ 019b6fdd-7327-7a5b-935c-4de00dd0e7c6 2025-12-30 15:25:42.567000
2632#
2733# UUIDv4 returns NULL (no timestamp)
2834#
@@ -46,13 +52,14 @@ Warning 1292 Incorrect uuid value: 'not-a-valid-uuid'
4652#
4753# Native UUID type
4854#
49- SELECT UUID_TIMESTAMP(CAST('01901be0-f183-7e6c-9601-62a5e4f6e7b8' AS UUID));
50- UUID_TIMESTAMP(CAST('01901be0-f183-7e6c-9601-62a5e4f6e7b8' AS UUID))
51- 2024-06-15 12:30:45.123000
55+ SELECT '019b6fdd-4937-7bb5-95c7-53363c6df927' AS uuid,
56+ UUID_TIMESTAMP(CAST('019b6fdd-4937-7bb5-95c7-53363c6df927' AS UUID)) AS ts;
57+ uuid ts
58+ 019b6fdd-4937-7bb5-95c7-53363c6df927 2025-12-30 15:25:31.831000
5259#
5360# Return type is TIMESTAMP(6)
5461#
55- CREATE TABLE t1 AS SELECT UUID_TIMESTAMP('01901be0-f183-7e6c-9601-62a5e4f6e7b8 ') AS ts;
62+ CREATE TABLE t1 AS SELECT UUID_TIMESTAMP('019b6fdd-4937-7bb5-95c7-53363c6df927 ') AS ts;
5663SHOW CREATE TABLE t1;
5764Table Create Table
5865t1 CREATE TABLE `t1` (
@@ -62,16 +69,20 @@ DROP TABLE t1;
6269#
6370# Edge cases
6471#
65- SELECT UUID_TIMESTAMP('00000000-0000-1000-8000-000000000000') IS NULL AS before_unix_epoch;
66- before_unix_epoch
67- 1
68- SELECT UUID_TIMESTAMP('00000000-0000-7000-8000-000000000000');
69- UUID_TIMESTAMP('00000000-0000-7000-8000-000000000000')
70- 0000-00-00 00:00:00.000000
71- SELECT UUID_TIMESTAMP('ffffffff-ffff-7fff-8000-000000000000');
72- UUID_TIMESTAMP('ffffffff-ffff-7fff-8000-000000000000')
73- 2042-12-13 16:54:30.655000
74- SELECT UUID_TIMESTAMP('ffffffff-ffff-1fff-8000-000000000000');
75- UUID_TIMESTAMP('ffffffff-ffff-1fff-8000-000000000000')
76- 2105-11-25 16:30:52.684697
72+ SELECT '00000000-0000-1000-8000-000000000000' AS uuid,
73+ UUID_TIMESTAMP('00000000-0000-1000-8000-000000000000') IS NULL AS before_unix_epoch;
74+ uuid before_unix_epoch
75+ 00000000-0000-1000-8000-000000000000 1
76+ SELECT '00000000-0000-7000-8000-000000000000' AS uuid,
77+ UUID_TIMESTAMP('00000000-0000-7000-8000-000000000000') AS ts;
78+ uuid ts
79+ 00000000-0000-7000-8000-000000000000 0000-00-00 00:00:00.000000
80+ SELECT 'ffffffff-ffff-7fff-8000-000000000000' AS uuid,
81+ UUID_TIMESTAMP('ffffffff-ffff-7fff-8000-000000000000') AS ts;
82+ uuid ts
83+ ffffffff-ffff-7fff-8000-000000000000 2042-12-13 16:54:30.655000
84+ SELECT 'ffffffff-ffff-1fff-8000-000000000000' AS uuid,
85+ UUID_TIMESTAMP('ffffffff-ffff-1fff-8000-000000000000') AS ts;
86+ uuid ts
87+ ffffffff-ffff-1fff-8000-000000000000 2105-11-25 16:30:52.684697
7788SET time_zone=DEFAULT;
0 commit comments