create table t1 (pk int primary key);
insert into t1 values (1 ),(2 ),(3 ),(4 ),(5 ),(6 ),(7 ),(8 ),(9 ),(10 );
select * from t1 order by now(), cast(pk as char(0 ));
pk
1
10
2
3
4
5
6
7
8
9
show warnings;
Level Code Message
Warning 1292 Truncated incorrect CHAR(0 ) value: '1'
Warning 1292 Truncated incorrect CHAR(0 ) value: '2'
Warning 1292 Truncated incorrect CHAR(0 ) value: '3'
Warning 1292 Truncated incorrect CHAR(0 ) value: '4'
Warning 1292 Truncated incorrect CHAR(0 ) value: '5'
Warning 1292 Truncated incorrect CHAR(0 ) value: '6'
Warning 1292 Truncated incorrect CHAR(0 ) value: '7'
Warning 1292 Truncated incorrect CHAR(0 ) value: '8'
Warning 1292 Truncated incorrect CHAR(0 ) value: '9'
Warning 1292 Truncated incorrect CHAR(0 ) value: '10'
drop table t1;
#
# MDEV-17020 : Assertion `length > 0 ' failed in ptr_compare upon ORDER BY with bad conversion
#
set @save_sql_mode= @@sql_mode;
SET @@sql_mode= '' ;
CREATE TABLE t1 (pk INT PRIMARY KEY);
INSERT INTO t1 VALUES (1 ),(2 );
explain
SELECT * FROM t1 ORDER BY 'foo' , CONVERT(pk, CHAR(0 )) LIMIT 2 ;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL 2 Using index; Using filesort
SELECT * FROM t1 ORDER BY 'foo' , Cast(pk as CHAR(0 )) LIMIT 2 ;
pk
1
2
Warnings:
Warning 1292 Truncated incorrect CHAR(0 ) value: '1'
Warning 1292 Truncated incorrect CHAR(0 ) value: '2'
set @@sql_mode= @save_sql_mode;
drop table t1;
Messung V0.5 in Prozent C=71 H=100 G=86
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-10-08)
¤
*© Formatika GbR, Deutschland