Hola.
Tengo una tabla con dos campos:
cCampo1 que tiene un id
cCampo2 un string que puede contener:
111
011
000
101
y quiero hacer un select sobre esta tabla pero que solo me devuelva los que en la posicion 2 del cCampo2 contenga un "1", o sea:
111
011
Se puede hacer eso en un select?
gracias.
se puede en un SELECT insertar un IF?
- goosfancito
- Posts: 1955
- Joined: Fri Oct 07, 2005 7:08 pm
- karinha
- Posts: 7935
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: se puede en un SELECT insertar un IF?
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- joseluisysturiz
- Posts: 2064
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: se puede en un SELECT insertar un IF?
Un ejemplo usando IF y WHEN, saludos...
![Shocked :shock:](./images/smilies/icon_eek.gif)
Code: Select all | Expand
cQryCerti := "SELECT *, CASE certi_status WHEN 0 THEN 'Anulado' " +;
"WHEN 1 THEN 'Pendiente' WHEN 2 THEN 'Retornado' " +;
"WHEN 3 THEN 'En Mora' END AS cEstado, " +;
"IF(certi_1 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ", 'PRIMERO', " +;
"IF(certi_2 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ", 'SEGUNDO', " +;
"IF(certi_3 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ", 'TERCERO', " +;
"IF(certi_4 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ", 'CUARTO', " +;
"IF(certi_5 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ", 'QUINTO', " +;
"IF(certi_6 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ", '_', " +;
"IF(certi_7 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ", 'SEPTIMO', ''))))))) AS posicion FROM piramide_certificados " +;
"WHERE" +;//(certi_status = 1 OR certi_status = 3) AND" +;
" (certi_1 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + " OR" +;
" certi_2 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + " OR" +;
" certi_3 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + " OR" +;
" certi_4 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + " OR" +;
" certi_5 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + " OR" +;
" certi_6 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + " OR" +;
" certi_7 = " + ClipValue2SQL( Val2Escape( oQry:parti_cedula ) ) + ") " +;
"ORDER BY certi_fecha_impresion" // 0=Anulado, 1=Vendido, 2=Retornado, 3=En Mora
- goosfancito
- Posts: 1955
- Joined: Fri Oct 07, 2005 7:08 pm
-
- Posts: 1077
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
- Has thanked: 1 time
Re: se puede en un SELECT insertar un IF?
Hola,
dependiendo el DBMS puedes hacer algo asi
SELECT *
FROM tabla
WHERE substr( campo2, 2, 1 ) = '1'
revisa la función equivalente a substr del DBMS que estés utilizando, en MySQL SUBSTRING(str,pos,len) pero creo que SUBSTR es un sinónimo
saludos
Marcelo
dependiendo el DBMS puedes hacer algo asi
SELECT *
FROM tabla
WHERE substr( campo2, 2, 1 ) = '1'
revisa la función equivalente a substr del DBMS que estés utilizando, en MySQL SUBSTRING(str,pos,len) pero creo que SUBSTR es un sinónimo
saludos
Marcelo
- jrestojeda
- Posts: 601
- Joined: Wed Jul 04, 2007 3:51 pm
- Location: Buenos Aires - Argentina
Re: se puede en un SELECT insertar un IF?
Hola...
SELECT * FROM TUTABLA WHERE SUBSTRING(CAMPO2,2,1) LIKE "1"
Eso debería salir con fritas!!
SELECT * FROM TUTABLA WHERE SUBSTRING(CAMPO2,2,1) LIKE "1"
Eso debería salir con fritas!!
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
- goosfancito
- Posts: 1955
- Joined: Fri Oct 07, 2005 7:08 pm