Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

select 2 = 2 porq da error en sql server 2008

Estas en el tema de select 2 = 2 porq da error en sql server 2008 en el foro de SQL Server en Foros del Web. Buenos dias amigos del foro.. Vuelvo nuevamente para solicitar una gran ayuda en lo siguiente: Como hago para q este simple select 4 > 3 ...
  #1 (permalink)  
Antiguo 09/08/2011, 10:18
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
select 2 = 2 porq da error en sql server 2008

Buenos dias amigos del foro..

Vuelvo nuevamente para solicitar una gran ayuda en lo siguiente:

Como hago para q este simple select 4 > 3 no me de error ...

el error que arroja es error cerca de '>'.....

muchas gracias por su valiosa ayuda , esto me tiene loco quizas para algunos es un detallito sencillo de corregir

programmer_81
  #2 (permalink)  
Antiguo 09/08/2011, 10:49
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: select 2 = 2 porq da error en sql server 2008

Tu pregunta es muy simple, simple sera mi respuesta.

SIMPLEMENTE porque > es un signo de COMPARACION y no puedes ocuparlo en el SELECT, en todo caso seria aplicado en el WHERE como un filtro.
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 09/08/2011, 12:06
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: select 2 = 2 porq da error en sql server 2008

muchas gracias iislas

El inconveniente es que hicimos una migracion de un lenguaje a sql server y entre las funciones esta iif(expresion logica , valor1 , valor2) , pensamos crear la funcion iif en sql para que exista y no arroje ningun error , se que en sql server existe una funcion equivalente el case when , pero la idea es minimizar la cantidad de trabajo.. no se si me explique bien ....

en resumen , es imposible crear una funcion en sql asi , llamada iif ?

ejemplos:

iif( 4 < 6 , 'true' , 'false') o
iif( 4 > 2 , 'true' , 'false') o
iif( 4 = 6 , 'false' , 'true') o
if( 4 <> 6 , 'true' , 'false') o
if( 4 < 6 and 7 = 7 , 'true' , 'false') , etc

gracias
  #4 (permalink)  
Antiguo 09/08/2011, 12:11
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: select 2 = 2 porq da error en sql server 2008

No, pero como bien dices, para eso tienes el CASE-WHEN-THEN-ELSE-END
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 09/08/2011, 12:13
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: select 2 = 2 porq da error en sql server 2008

De que es posible crear la funcion que mencionas es posible, nada mas que tendrias que meterte con codigo administrado(dll's programadas con el framework de .NET para que hagan lo que requieres) la otra es que puedes usar el if en sql nada mas que no en un query, si quieres minimizar trabajo lo mas conveniente es usar case when.

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 09/08/2011, 12:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: select 2 = 2 porq da error en sql server 2008

Gracias a todos amigos

muchas gracias iislas

La estructura seria asi :

DBO.IIF( @PARAMETRO_1 , @PARAMETRO_2 , @PARAMETRO_3)

el desarrollo algo asi :

if @PARAMETRO_1 = '1'

begin
set @result = @vPARAMETRO_2
end
else
begin
set @result = @PARAMETRO_3
end


return @result

La idea es no hacer tantos case when , sino ahorrarnos tiempo al crear la funcion iif , porq cuando se llame la funcion iif tal como viene originalmente del sistema anterior sql la reconozca .... amigos en nuestro sistema tenemos muchisimos iif ..

de todas maneras muchas gracias por sus prontas respuestas ... seguire dandole aqui a ver si lo soluciono

Etiquetas: select, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.