将INT转换为VARCHAR SQL

时间:2013-11-14 13:54:43

标签: sql select type-conversion sybase

我正在使用Sybase,我正在做一个select,它返回一个名为“iftype”的列,但它的类型是int,我需要转换为varchar。当我尝试在没有转换功能的情况下进行选择时,我收到此错误:

  

错误代码257,SQL状态37000:不允许从数据类型“VARCHAR”到“INT”的隐式转换。使用CONVERT函数运行此查询。

我不知道如何实现函数CONVERT。有人可以帮帮我吗?

6 个答案:

答案 0 :(得分:526)

使用转换功能。

SELECT CONVERT(varchar(10), field_name) FROM table_name

答案 1 :(得分:83)

使用STR功能:

SELECT STR(field_name) FROM table_name

<强>参数

<强> float_expression

是具有小数点的近似数值(浮点)数据类型的表达式。

<强>长度

总长度。这包括小数点,符号,数字和空格。默认值为10.

<强>小数

小数点右边的位数。 decimal必须小于或等于16.如果decimal小于16,则结果将被截断为小数点右边的16位。

来源:https://msdn.microsoft.com/en-us/library/ms189527.aspx

答案 2 :(得分:20)

您可以使用CAST功能:

SELECT CAST(your_column_name AS varchar(10)) FROM your_table_name

答案 3 :(得分:6)

实际上,您不需要使用STR或Convert。只需选择'xxx'+ LTRIM(ColumnName)即可完成工作。 LTRIM可能在后台使用Convert或STR。

LTRIM还消除了提供长度的需要,通常默认值10足以将整数转换为字符串。

SELECT LTRIM(ColumnName) FROM TableName

答案 4 :(得分:0)

CONVERT(DATA_TYPE , Your_Column)是SQL中CONVERT方法的语法。通过此转换函数,我们可以将逗号(,)右侧的Column数据转换为逗号(,)左侧的数据类型。请参见以下示例。

SELECT CONVERT (VARCHAR(10), ColumnName) FROM TableName

答案 5 :(得分:0)

从表名中选择强制转换(将CAST([field_name] AS bigint)转换为nvarchar(255))