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

Funciones de Cadena

Estas en el tema de Funciones de Cadena en el foro de SQL Server en Foros del Web. Buenos días, me gustaría saber la equivalencia de la función mid en sql server 2005; tengo algo asi iif( pregunta.respuesta=mid(Respuestas,Nro,1),1,0) as valor gracias...
  #1 (permalink)  
Antiguo 11/12/2009, 08:44
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 5 meses
Puntos: 0
Funciones de Cadena

Buenos días, me gustaría saber la equivalencia de la función mid en sql server 2005; tengo algo asi
iif( pregunta.respuesta=mid(Respuestas,Nro,1),1,0) as valor


gracias
  #2 (permalink)  
Antiguo 11/12/2009, 08:55
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Funciones de Cadena

Código:
CASE WHEN pregunta.respuesta=SUBSTRING(Respuestas,Nro,1) 
        THEN 1
        ELSE 0
        END as valor

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 12/12/2009, 09:14
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Funciones de Cadena

Buenos días, como podría hacer el iif con texto, es decir, la equivalencia con texto en sql server 2005; la consulta arroja esta tablita pero el campo estado en donde quiero que me funcione igual tengo esto:

iif(avg(PorcentajeNal) >avg( PorcentajeCol),"Inferior " & Round(100*( avg(PorcentajeNal) - avg(PorcentajeCol)

grado PromNal PromCol Estado
3 53.15 46.76 Inferior 12%
4 48.21 42.27 Inferior 12%
5 40.94 33.39 Inferior 18%
6 35.87 34 Inferior 5%
7 42.02 43.38 Superior 3%

Haciendo la equivalencia sin texto seria:

(case when PorcentajeNal > PorcentajeCol then Round((100*( PorcentajeNal - PorcentajeCol)/ PorcentajeNal),2) else Round((100* (PorcentajeCol- PorcentajeNal)/ PorcentajeNal),2) end) AS Estado
  #4 (permalink)  
Antiguo 14/12/2009, 07:28
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Funciones de Cadena

aunque lo mejor seria que el formateo se hiciera en el front end (tu aplicacion o reporte), puedes hacer algo como esto...

Código:
 CASE WHEN PorcentajeNal > PorcentajeCol 
       THEN 'Superior ' + CAST (ROUND((100*( PorcentajeNal - PorcentajeCol)/ PorcentajeNal),2) AS VARCHAR)
       ELSE 'Inferior'  + CAST(ROUND((100* (PorcentajeCol- PorcentajeNal)/ PorcentajeNal),2) AS VARCHAR)
       END AS Estado
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
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 18:25.