DB Vertica 8.0を使用していました。タイプLONG VARCHARのテーブルインクルードフィールドを持つスキーマWAREHOUSEを作成します。今、私は例えばSELECTを実行しようとしました
SELECT * FROM WAREHOUSE.ALL_EVENTS a
WHERE
a.original_data like '%d963%'
返されたエラー
SQL Error [4286] [42883]: [Vertica][VJDBC](4286) ERROR: Operator does not exist: long varchar ~~ unknown
[Vertica][VJDBC](4286) ERROR: Operator does not exist: long varchar ~~ unknown
com.vertica.util.ServerException: [Vertica][VJDBC](4286) ERROR: Operator does not exist: long varchar ~~ unknown
Oracleでは、CLOBフィールドにdbms_lobパッケージを使用しました。
Verticaには、LONG VARCHARタイプ用の類似のパッケージがありますか?
LONG VARCHARの「LIKE」はいかがですか。
バージョン7.1 または 8. 状態のLONG
データ型に関するVerticaのドキュメント:
注記
LONG
データ型の最適なパフォーマンスのために、HP Verticaは次のことをお勧めします。
LONG
データ型をストレージのみのコンテナーとして使用します。 HP Verticaは、コンテンツの操作をサポートしていません。- 可能な限り、
VARBINARY
の代わりにVARCHAR
およびLONG
データ型を使用してください。VARBINARY
およびVARCHAR
データ型はより柔軟性があり、操作の範囲が広くなっています。
VARCHAR
データ型は、最大65Kバイトの文字列をサポートします。データが長くない場合は、代わりにそれを使用できます。
LIKE
の代わりにREGEXP_LIKE
を使用できます。同様の質問の リファレンスページ および このStackoverflowの回答 を参照してください。ただし、LIKE
演算子でサポートされている%
または_
の単純なワイルドカードは使用できません。より複雑なケースを見つけるには、正規表現について知っておく必要があります。