MySQLのblobにテキストが保存されているレコードがたくさんあります。扱いやすくするために、データベースの形式をTEXTに変更したいと思います...データを中断しないように変更を簡単に行うためのアイデアはありますか?適切にエンコードする必要があると思いますか?
421027 次
10 に答える
317
それは不要です。ただ ... の代わりに ..... を使用してSELECT CONVERT(column USING utf8) FROM
くださいSELECT column FROM
于 2010-11-19T03:57:56.923 に答える
135
Blob をUTF-8エンコーディングで char(1000) に変換したい人の例を次に示します。
CAST(a.ar_options AS CHAR(10000) CHARACTER SET utf8)
これが彼の答えです。CAST については、おそらくもっと多くの情報がここにあります。少しでもお役に立てば幸いです。
于 2009-06-04T01:35:25.393 に答える
9
とても簡単にできます。
ALTER TABLE `table_name` CHANGE COLUMN `column_name` `column_name` LONGTEXT NULL DEFAULT NULL ;
上記のクエリは私にとってはうまくいきました。あなたにも役立つことを願っています。
于 2015-08-21T13:11:24.257 に答える
2
または、次の関数を使用できます。
DELIMITER $$
CREATE FUNCTION BLOB2TXT (blobfield VARCHAR(255)) RETURNS longtext
DETERMINISTIC
NO SQL
BEGIN
RETURN CAST(blobfield AS CHAR(10000) CHARACTER SET utf8);
END
$$
DELIMITER ;
于 2013-07-08T15:32:09.253 に答える
0
SELECCT TO_BASE64(blobfield)
FROM the Table
私のために働いた。
CAST(blobfield AS CHAR(10000) CHARACTER SET utf8) および CAST(blobfield AS CHAR(10000) CHARACTER SET utf16) は、取得したいテキスト値を表示しませんでした。
于 2021-02-22T17:20:13.707 に答える