2013-03-13 45 views
9

私はCLOB型データの1つの列を持つテーブルを持っていますが、CLOBデータ内の実際の文字列を見ることはできません。SQL ServerでSELECTにCLOBタイプを表示する方法は?

CLOB, 8 Bytes 
CLOB, 15 Bytes 
CLOB, 9 Bytes 

しかし、私はちょうどCLOBデータの内容を見たいと思ってます。たとえば

私はSELECT *を使用する場合は、CLOBタイプの下に、すべてのデータは次のようです。

私が試した:

SELECT DBMS_LOB.SUBSTR(ClobColumnName, 20 ,1) 
をそして、それは動作しません、エラーは次のとおりです。

エラーコード:4121、SQLの状態:S1000
はコラム "DBMS_LOB" のいずれかを見つけることができませんかユーザー定義関数または集約 "DBMS_LOB.SUBSTR"、または名前があいまいです。

問合せでCLOBデータを直接表示する構文は何ですか?

私はdbVisualizerでSQL Serverを使用しています。

+1

SQL Serverには 'clob'データ型がありません。実際の列のデータ型は何ですか?私は 'varbinary(x)'/'binary(x)'と仮定しますか?もしそうなら、なぜあなたは最初に文字列を格納するためにそれを使用していますか? –

+0

@ MartinsSmith、あなたはそうです、私はこれらの混乱しているさまざまなSQL言語を使い慣れていません。 dbVisualizerのカラム属性リストに大きなカラムサイズ(2148473647)のvarchar(2005)データ型として表示されています。私はSQLサーバを管理するためにWindowsではなくLinuxを使用しているので、私はこのソフトウェアを使用する必要があります。 –

答えて

15

私は1つの解決策を考え出しました。より良い方法があるはずです、可能な解決策をコメントに表示してください。

SELECT CAST(ClobColumnName AS VARCHAR(50)) AS ClobColumnName ; 
1

私は同じ問題を抱えていたし、代わりにDbVisualizerののDBeaver(http://dbeaver.jkiss.org/)を使用して、それを解決しました。

DBeaverを使用してSQL Serverからselect *を実行すると、結果セット内のCLOBをダブルクリックするだけで、内容の新しいウィンドウが開きます。非常に滑らか。

+0

dbVisualizerでも動作します。 – boutta

3

DbVisで見るには、オプションで変更するだけです。 CLOB列の表示用の項目があります。

2

私は1つのカラムを持つテーブルを持っているがCLOB列にメッセージ/データを格納した後、CLOBデータ・タイプ(1000K)を有し、一つの解決策は、CLOB列の実際のデータを参照して発見しました。

SELECT CAST(T.CLOB_COLUMNNAME AS VARCHAR(1000)) AS SAMPLEDATA 
    FROM TABLE_NAME AS T 

上記のクエリは、CLOB(Character Large Objects)を通常のStringにキャストします。

1

jDTSドライバを使用してSQL Serverに接続しているとします。 接続のドライバプロパティで、 "USELOBS"をFalseに設定して文字列に自動的にキャストすることができます。

関連する問題