Oracleには、MySQLのTEXT
タイプと同等の列タイプがありますか?
そうでない場合、通常、テキストの大きな塊はどのように保存されますか? BLOB
、varchar(32767)
?重要な場合は、PHP経由でアクセスされているのはOracle10です。歴史的背景は大歓迎です。
Oracleには、バイナリ、文字、およびユニコード文字のデータ型を格納するためのBLOB、CLOB、およびNCLOBがあります。必要に応じてDBAがストレージを微調整できるようにするLOBストレージ領域を指定することもできます(つまり、LOBデータを別々のディスクに配置します)
このページにはもう少し情報があります: http://www.dba-Oracle.com/t_blob.htm
おそらく [〜#〜] clob [〜#〜] データ型が必要だと思います。
Oracle SQLには、VARCHAR2列の4000文字の制限があります(Oracle PL/SQLには32,767文字の上限があります)。他の人が述べているように、CLOBは大量のテキストを格納するのに適しています。
文字ラージオブジェクト(CLOB)は、おそらくあなたが探しているものです。ただし、すべてのテキストがVARCHAR2に収まることがわかっている場合は、必ずそこに配置してください。 clobはgroupby句では使用できず、ほとんどの場合、varchar2よりも使用に時間がかかります。 4000バイトの制限を超えることがわかっている場合は、CLOB(最大4GBを処理できます)を使用します。
CLOB
を使用する必要があります。 Character Large Objectの略です。
CLOBは、任意の文字セットの大きなドキュメントなど、Unicode文字ベースのデータを格納するために使用されます。
値は最大2,147,483,647文字の長さにすることができます。