Converter INT para VARCHAR SQL
estou a usar o Sybase e estou a fazer uma selecção que me devolve uma coluna chamada iftype, mas o seu tipo é int e preciso de me converter em varchar. Quando tento fazer a selecção sem a função convert, obtenho este erro:
código de erro 257, estado SQL 37000: não é permitida a conversão implícita do tipo de dados 'VARCHAR' para 'INT'. Use a função CONVERT para executar esta consulta.
não sei como implementar a função {[[0]}. Alguém me pode ajudar?, por favor ?
6 answers
Use a função convert.
SELECT CONVERT(varchar(10), field_name) FROM table_name
Utilize a função STR
:
SELECT STR(field_name) FROM table_name
Argumentos
Flutu_ expressão
É uma expressão de um tipo aproximado de dados numéricos (flutuantes) com um ponto decimal.
Comprimento
É o comprimento total. Isto inclui ponto decimal, sinal, dígitos e espaços. O padrão é 10.
Decimal
É o número de casas decimais. a casa decimal deve ser igual ou inferior a 16. Se a casa decimal for mais de 16 Então o resultado é truncado a dezesseis lugares à direita do ponto decimal.
Fonte: https://msdn.microsoft.com/en-us/library/ms189527.aspx
Pode utilizar CAST
Função:
SELECT CAST(your_column_name AS varchar(10)) FROM your_table_name
Na verdade você não precisa usar STR ou converter. Basta selecionar ' xxx ' +Itrim (ColumnName) faz o trabalho. Possivelmente, Itrim usa Converter ou STR sob o capô.
O LTRIM também remove a necessidade de fornecer comprimento e normalmente o valor padrão de 10 é suficiente para a conversão de inteiros para cadeias de caracteres.
SELECT LTRIM(ColumnName) FROM TableName
CONVERT(DATA_TYPE , Your_Column)
is the syntax for CONVERT method in SQL. A partir desta função converter que pode converter os dados da Coluna que está no lado direito da vírgula (,) para o tipo de dados no lado esquerdo da vírgula (,) por Favor, veja abaixo o exemplo.
SELECT CONVERT (VARCHAR(10), ColumnName) FROM TableName
Seleccione o elenco (CAST ([field_name] como bigint) como nvarchar (255)) do table_ name