Convertir una expresión SQL si tiene una función de la longitud con la consulta subselección a SQLite

votos
3

Sé que en SQLite, usamos la LENGTHfunción en lugar de len. Pero cuando quiero utilizar la LENGTHfunción con una sub consulta de este modo:

select length(select name from tblNames where name=1)

Recibo un error. Aquí está la versión de Microsoft SQL de la expresión:

iif(len((select  BilgiAcik  from DigerBilg  where BilgTip=12  and BilgDgr=Cstr(Dr.Fr)))>0,( select  BilgiAcik  from DigerBilg  where BilgTip=12 and BilgDgr=Cstr(Dr.Fr)),Cstr(Dr.Fr))  as Fr,

Convertí la expresión anterior en SQLite como tan:

(case length((select  BilgiAcik  from DigerBilg where BilgTip=12 and BilgDgr=CAST(Dr.Fr as TEXT))>0 ( select  BilgiAcik  from DigerBilg  where BilgTip=12 and BilgDgr=Cstr(Dr.Fr)) else CAST(Dr.Fr as TEXT) end) as Fr,

Lo que estoy haciendo mal acerca? ¿No puedo usar la SUBSELECTconsulta con la LRNGTHfunción? ¿Alguna sugerencia sobre cómo resolver este problema?

Publicado el 24/09/2011 a las 07:06
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
2

Usted tendrá que reestructurar su estado de cuenta para ser más similar a la siguiente.

select length(name) from (select name from tblnames where name=1);

Usted puede manejar esto un poco más fácilmente por los alias subselects si lo desea.

select length(t.name) from (select name from tblnames where name=1) as t;
Respondida el 24/09/2011 a las 07:59
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more