Convert a string to integer in SQLite

-1

I'm trying to create a sql for a mobile application, sql is fine but the application gives the following error at runtime: "field expecting a string and current is integer" , the how to convert sql field to sql:

select
    l.*,
    c.descricao as categoria,
    case when l.tipo_lancamento = ‘c’ then 1 else 0 end as icone
from
    tab_lancamento l 
join
    tab_categoria c on (c.id_categoria = l.id_categoria)

The field type_cance is a varchar but, but I have already changed to an integer but it still gives of incompatibility

Thanks in advance!

    
asked by anonymous 26.06.2017 / 21:54

1 answer

0

Assuming your Structure looks similar to the following:

CREATE TABLE tab_lancamento
(
    id_lancamento integer,
    id_categoria integer,
    tipo_lancamento character varying(1)
);

CREATE TABLE tab_categoria
(
    id_categoria integer,
    descricao text
);

Data:

INSERT INTO tab_categoria ( id_categoria, descricao ) VALUES ( 1, 'Primeira Categoria' );
INSERT INTO tab_categoria ( id_categoria, descricao ) VALUES ( 2, 'Segunda Categoria' );
INSERT INTO tab_categoria ( id_categoria, descricao ) VALUES ( 3, 'Terceira Categoria' );

INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 1, 1, 'a' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 2, 2, 'c' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 3, 3, 'c' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 4, 1, 'a' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 5, 2, 'b' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 6, 3, 'c' );

The following query should work:

SELECT
    l.*,
    c.descricao AS categoria,
    (CASE WHEN l.tipo_lancamento = 'c' THEN 1 ELSE 0 END) AS icone
FROM
    tab_lancamento l 
JOIN
    tab_categoria c ON ( c.id_categoria = l.id_categoria );

Output:

id_lancamento  id_categoria  tipo_lancamento  categoria           icone     
-------------  ------------  ---------------  ------------------  ----------
1              1             a                Primeira Categoria  0         
2              2             c                Segunda Categoria   1         
3              3             c                Terceira Categoria  1         
4              1             a                Primeira Categoria  0         
5              2             b                Segunda Categoria   0         
6              3             c                Terceira Categoria  1    
    
27.06.2017 / 15:17