我正在使用Sybase,我正在做一个select,它返回一个名为“iftype”的列,但它的类型是int,我需要转换为varchar。当我尝试在没有转换功能的情况下进行选择时,我收到此错误:
错误代码257,SQL状态37000:不允许从数据类型“VARCHAR”到“INT”的隐式转换。使用CONVERT函数运行此查询。
我不知道如何实现函数CONVERT
。有人可以帮帮我吗?
答案 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位。
答案 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))