私はSybaseを使用していて、「iftype」という列を返す選択を行っていますが、その型はintであり、varcharに変換する必要があります。変換機能なしで選択しようとすると、次のエラーが発生します。
エラーコード257、SQL状態37000:データ型 'VARCHAR'から 'INT'への暗黙的な変換は許可されていません。このクエリを実行するには、CONVERT関数を使用します。
関数の実装方法がわかりませんCONVERT
。誰か助けてもらえますか?
私はSybaseを使用していて、「iftype」という列を返す選択を行っていますが、その型はintであり、varcharに変換する必要があります。変換機能なしで選択しようとすると、次のエラーが発生します。
エラーコード257、SQL状態37000:データ型 'VARCHAR'から 'INT'への暗黙的な変換は許可されていません。このクエリを実行するには、CONVERT関数を使用します。
関数の実装方法がわかりませんCONVERT
。誰か助けてもらえますか?
回答:
変換機能を使用します。
SELECT CONVERT(varchar(10), field_name) FROM table_name
VARCHAR
とINT
私は彼の質問ではなく、エラーメッセージに答えますよ。
varchar
場所を使用しようとしていることを示していますint
。私たちがあなたを助けるためにあなたは実際のSQLステートメントを書く必要があります。
varchar(11)
負の数が多い場合はそうだと思います。
STR
関数を使用します。
SELECT STR(field_name) FROM table_name
float_expression
小数点付きの概数値(float)データ型の式です。
長さ
全長です。これには、小数点、符号、数字、スペースが含まれます。デフォルトは10です。
小数
小数点の右側の桁数です。decimalは16以下でなければなりません。decimalが16より大きい場合、結果は小数点の右側の16桁に切り捨てられます。
ソース:https : //msdn.microsoft.com/en-us/library/ms189527.aspx
STR()
正解である必要があります。他の方法よりも簡単でエラーが発生しにくくなります。
あなたはCAST
関数を使うことができます:
SELECT CAST(your_column_name AS varchar(10)) FROM your_table_name