web-dev-qa-db-ja.com

ストアドプロシージャに渡すことができるように、テキストフィールドをVarcharに一時的に変換する必要があります

SQL 2000データベースを使用しています。

テーブルのタイプやストアドプロシージャを変更できないデータベースを使用しています。呼び出す必要があるストアード・プロシージャーの1つは、「テキスト」のパラメーターを予期しています。テキストフィールドにアクセスできますが、それを変数に格納する方法や、それをストアドプロシージャに渡すためのその他の方法を理解できません。

テキスト変数を作成しようとすると、SQLでは許可されません。それをvarcharに変換すると、テキストフィールドから最初の文字しか取得できません。

これを回避するためのトリックは大歓迎です!ありがとうございました!

12
user53885

タイプvarchar(8000)の変数を宣言します

declare @v varchar(8000)
SET @v = (SELECT CAST(textcol as varchar(8000)) FROM yourtable WHERE ....)

明らかにそれはまだ切り捨てられているかもしれませんが、1文字ではありません。

22
Martin Smith