web-dev-qa-db-ja.com

INTからVARCHAR SQLへの変換

私はSybaseを使用していて、 "iftype"というカラムを返すselectを実行していますが、その型はintであり、varcharに変換する必要があります。変換機能なしでselectを実行しようとすると、このエラーが発生します。

エラーコード257、SQL状態37000:データ型 'VARCHAR'から 'INT'への暗黙の変換は許可されていません。このクエリを実行するには、CONVERT関数を使用してください。

関数CONVERTを実装する方法がわかりません。誰かが私を助けてもらえますか?

285
Murilo

変換機能を使用してください。

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

STR関数を使用してください。

SELECT STR(field_name) FROM table_name

引数

float_expression

小数点付きの近似数値(float)データ型の式です。

長さ

全長です。これには、小数点、符号、数字、およびスペースが含まれます。デフォルトは10です。

10進数

小数点の右側の桁数です。 decimalは16以下でなければなりません。decimalが16を超える場合、結果は小数点の右側の16桁に切り捨てられます。

ソース: https://msdn.Microsoft.com/ja-jp/library/ms189527.aspx

81
Rei Salazar

CAST関数を使うことができます:

SELECT CAST(your_column_name AS varchar(10)) FROM your_table_name
20
Hamid Heydarian