Si el lado izquierdo o el lado derecho del operador de resta no están firmados, el resultado tampoco está firmado. Puede cambiar esto configurando el NO_UNSIGNED_SUBTRACTION
Modo SQL
.
Alternativamente, también puede convertir explícitamente sus valores sin firmar para que sean valores bigint con signo y luego hacer la resta.