El SUBSTRING
documentación
no es particularmente claro acerca de cómo trata los valores binarios, refiriéndose a 'caracteres' en lugar de bytes. Pero está tratando efectivamente la entrada como una secuencia de bytes, y con 1, 1
está solicitando el primer byte de la secuencia:
Input Byte sequence
----------------------
0x6 06
0xF6 F6
0xFF6 0F F6
0xFFF6 FF F6
Salida de SUBSTRING(input, 1, 1)
:
0x06
0xF6
0x0F
0xFF