| |||
saber el valor de un parametro Transact SQL buenas noches compañeros.. tengo una consulta deberia ser algo sensillo pero no se hacerlo... me encuentro con que debo controlar q es lo q trae un paramentro. en Transact SQL, procedimiento almacenado.. quiero saber si @dias trae solo numeros. y nada mas. que no vengan letras ni comas puntos . me explico? como puedo hacerlo... muchas gracias espero me puedan dar una mano pronto asi no me tranco con el projecto.. |
| ||||
Respuesta: saber el valor de un parametro Transact SQL Antes de implementar un código que te diga si el parámetro @dias tiene solo números, evalúa la posibilidad de definirlo como numeric, de esta forma, en caso de valores alfanuméricos el motor ya se encarga de lanzar una excepción que interrumpe la ejecución del procedimiento. La función isnumeric() es útil para los casos donde @días es tipo varchar pero además el procedimiento debe decidir entre un proceso u otro en función de un valor numérico o alfanumérico.
Código:
Saludos create procedure p1 (@dias numeric(8)) as begin select @dias end go exec p1 '1' --ejecución normal go exec p1 'a' --el motor da error y finaliza el proceso go --o bien create procedure p2(@dias varchar(10)) as begin if isnumeric(@dias)=1 select 'numerico' else select 'alfanumerico' end go --se ejecuta un código diferente en función del valor exec p2 '1' go exec p2 'a' go |
| |||
Respuesta: saber el valor de un parametro Transact SQL muchas gracias a ambos por sus datos.. en un comienzo queria saber que significaban los valores devueltos por isnumeric como dices tu libras.. me es muy bueno saber que si devuelve 0 es porque no es lo que busco... muchas gracias a ambos igualmente.. este espacio me es muy util para aprender todos esos temas que quedan colgados en clases |
Etiquetas: |