Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-01-2011
elea elea is offline
Miembro
NULL
 
Registrado: ene 2011
Ubicación: México
Posts: 16
Poder: 0
elea Va por buen camino
Convertir campos string a int

Buenas tardes a todos

Espero que esten bien,mi duda es, necesito mostrar calificaciones cursadas y no cursadas con su respectiva calificacion, pero si la materia no esta cursada entonces mostrar "=". El campo de la calificacion es int, estoy usando sql server y delphi 2010.
Asi necesito que se vea
Materia -----Calificacion
matematicas ----8
español--------- 9
historia ---------=
ingles -----------=
Responder Con Cita
  #2  
Antiguo 24-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo la razon de la pregunta (cambiar string a int)????.
Por otro lado para que en la consulta SQL salga el signo de = lo que se tiene que usar es una sentencia con CASE WHEN, que creo casi todos los motores aceptan.
Tambien podria ser IIF, IF etc. etc...
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 24-01-2011
elea elea is offline
Miembro
NULL
 
Registrado: ene 2011
Ubicación: México
Posts: 16
Poder: 0
elea Va por buen camino
Estoy haciendo reportes con QuickReports necesito generar una boleta con todas las materias la consulta sql la hago de la siguinet manera

Código SQL [-]
size="2">size="2">select 
casesize="2">size="2">whensize="2">calificacion size="2">size="2"><>size="2"> 0 size="2">size="2">THENsize="2"> calificacionsize="2">size="2">ELSEsize="2"> '='size="2">size="2">endsize="2">size="2">)size="2">size="2">assize="2"> calificacion from materias
pero como el campo calificacion es int no me acepta que mande "="
Responder Con Cita
  #4  
Antiguo 24-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y no acepta Null ?
No se entiende la consulta, la verdad.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 25-01-2011
elea elea is offline
Miembro
NULL
 
Registrado: ene 2011
Ubicación: México
Posts: 16
Poder: 0
elea Va por buen camino
codigo

select materia, (case when calificaciones <>0 then calificaciones else '=' end) as calificaciones
from materias

Una disculpa por el codigo anterior, lo marque en las etiquetas de sql y no se que le hizo, lo que quiero hacer es mostrar las materias con su respectiva calificacion, pero si la calificacion aun no tiene materia asignada, mostrar un signo '=' en la boleta que voy a imprimir.

Saludos muchas gracias y ojala se entienda
Responder Con Cita
  #6  
Antiguo 25-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
En sql server me parece que es asi:
Código SQL [-]
select materia, (case calificaciones when <> 0 then calificaciones else '=' end) as calificaciones from materias

En access y Firebird acepta IFF, asi:
Código SQL [-]
select materia, IIf(calificaciones <> 0, '=') AS calificaciones from materias
Mas sencillo.
Saludos
PD: Por lo menos en access no genera ningun error al cambiar un integer por un signo =, no se que pasara en Sql Server
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 25-01-2011
elea elea is offline
Miembro
NULL
 
Registrado: ene 2011
Ubicación: México
Posts: 16
Poder: 0
elea Va por buen camino
S

Resolvi el problema, me funciono de la siguiente manera

select materia,
(
case when CONVERT(nvarchar(20),(case when calificaciones<> 0 THEN calificaciones ELSE 0 end))='0' then '=' else CONVERT(nvarchar(20),calificaciones)end)as calificaciones from materias


Muchas gracias Caral po tu apoyo, espero y les sirva la solucion que encontre
Responder Con Cita
  #8  
Antiguo 25-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola elea.

Ví el trabajo que te tomaste para resaltar la sintáxis SLQ y debo reconocer que has echo una tarea muy prolija , pero muy tediosa...

Te hago una sugerencia que te vá a ahorrar mucho tiempo: Podes utilizar la etiqueta [sql] al comenzar el código y [/sql] al finalizarlo.

Te queda así:
Código SQL [-]
select materia,
(case when CONVERT(nvarchar(20),(case when calificaciones<> 0 THEN calificaciones ELSE 0 end))='0' then '=' 
else CONVERT(nvarchar(20),calificaciones)end) as calificaciones from materias
Reconozco que el tuyo es más elegante , pero lo importante es que sea legible...

Existen diferentes etiquetas para dar distintos formatos que ayudan a hacer más legible el código editado:[ Lista de Códigos vB ].

Un saludo y gracias por publicar tu solución.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 25-01-2011 a las 05:07:25.
Responder Con Cita
  #9  
Antiguo 26-01-2011
elea elea is offline
Miembro
NULL
 
Registrado: ene 2011
Ubicación: México
Posts: 16
Poder: 0
elea Va por buen camino
Muchas gracias por la aclaración, te comento que si trate de utilizar las etiquetas SQL, pero no se porque modificaba el código a tal punto que no se podia leer y como no supe que tenia que hacer opté por agregar el código de la manera que lo hice.

Un saludo y de nuevo muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
convertir un date a string airam C++ Builder 2 25-07-2008 18:58:00
convertir string jsanchez Varios 3 31-07-2006 22:23:19
convertir un String en TTreeNode jmlifi Varios 3 26-08-2005 15:56:01
Convertir un String a Integer Rafe Varios 2 12-08-2005 17:43:38
Convertir un string a puntero jnrico Varios 1 27-05-2003 16:29:47


La franja horaria es GMT +2. Ahora son las 19:38:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi