Cómo verificar si el valor de una columna numérica está en orden ascen

Cómo verificar si el valor de una columna numérica está en orden ascendente o descendente. p.ej. 12345 o 654321

Necesito ayuda con una consulta SQL para verificar si una columna numérica contiene un número en orden ascendente o descendente.

p. ej. 123456 o 654321

Esto es para evitar que las personas ingresen algunos valores aleatorios en una columna de número de teléfono del cliente, los usuarios deben ingresar un número de teléfono válido.

Quiero lograr esto sin usar una función.


ACTUALIZACIÓN: @LukStorms respondió amablemente a mi pregunta. Muchas gracias.
Gracias a los demás que vieron mi pregunta y dejaron comentarios. Sin embargo, realmente agradecería si el comentario ayuda a resolver el problema. Mi escenario es diferente, no puedo publicar el caso de uso completo aquí. La pregunta es que debo validar la columna de la misma manera. Mostrar la mejor respuesta

Los esquemas de validación del lado del servidor que intentan usar patrones de expresiones regulares u otra lógica aleatoria para filtrar entradas incorrectas para direcciones de correo electrónico y números de teléfono casi siempre incomodan a los clientes válidos. Te recomiendo buscar esquemas para enviar un SMS al número con un código/URL de validación y manejar la respuesta.

Gracias @AlwaysLearning por tu respuesta. Esta validación solo se puede hacer en la base de datos y tampoco se me permite usar las funciones CLR. Así que solo busco un script TSQL.

¿Para qué ganar? Si alguien quiere darte un número falso y le dices que 123456 no es válido, simplemente hará 445566 o se irá. Mientras tanto, si mi número es 403-812-3456, también me vas a alienar. No puedes obligar a alguien a darte información válida; trabaje para hacer que la oferta sea lo suficientemente convincente (o los requiera) para brindarle datos reales. La dirección de correo electrónico y el número de teléfono se pueden hacer mediante confirmaciones de estilo 2FA. Bloquear secuencias que crees que son imposibles es la forma incorrecta de hacer esto.

Si los clientes ingresan números de teléfono falsos, debe tomar esto como una señal de que no quieren que los contacte por teléfono y no creen que esto sea obligatorio, así que haga que el campo sea opcional. Es probable que aún termine con números falsos, pero simplemente más difíciles de detectar. Probablemente pondría el número de su empresa si me enfrentara a eso al hacer una compra. En general, debe hacer que la experiencia del cliente sea lo más fluida posible

¿Para comprobar si es como una secuencia de dígitos?
Entonces simplemente puede usar LIKE

select num
, cast(case 
  when '1234567890123456789' like concat('%',num,'%')
   then 1 
  when '9876543210987654321' like concat('%',num,'%')
   then 1 
  else 0 end as bit) as isSequence
from (values 
(123456),
(765432),
(797204)
) nums(num)
num esSecuencia 123456 Verdadero 765432 Verdadero 797204 Falso

O usa CHARINDEX

select num
, cast(case 
  when 0 < charindex(concat(num,''),'1234567890123456789') then 1 
  when 0 < charindex(concat(num,''),'9876543210987654321') then 1 
  else 0 end as bit) as isSequence
from (values 
(123456),
(765432),
(797204)
) nums(num)

Demostración en db<>fiddle aquí

Muchas gracias @LukStorms. Funcionó perfecto. Sin embargo, me gustaría saber por qué repitió la secuencia dos veces. ¿'01234567890' no es suficiente?

Para cuando comienza con un dígito más alto. fe 890123. Y luego '012345678901234' estaría bien si está seguro de que solo tiene 6 dígitos.