2012-02-20 8 views
1

私が持っているデータを交換する必要があります。は私が見つけて、次のように nはmysqlのフィールドに

1通り\ n2street \ nmycity \ nmytown

私は何をしたいことは、\ n個のcharと置き換えるです

(10)私はdbフィールドで実際の改行が必要です。

私が持っている:

UPDATE data set `value` = REPLACE(`value`,'\n', char(10)) WHERE `key`='shipping_address'; 
をしかし、それは動作しません。

誰でも助けてください。

+0

をあなたが任意のエラーを取得しているか、あなたが望むものを取得されていませんでしたので、それは動作しませんでした。 – Vikram

+0

これは値 'shipping_address'を持つフィールド 'key'を持つ' data'テーブルのすべてのエントリに対して有効です。しかし、私はあなたがデータテーブル全体のすべての単一のエントリで置き換えたいと仮定します。これは 'WHERE'部分全体を省略するだけです。 – s1lence

答えて

7
UPDATE data set `value` = REPLACE(`value`,'\\n', CHAR(10)) WHERE `key`='shipping_address'; 
1

ダブルそれを脱出し、リテラルとしてそれを治療するために、バックスラッシュ:

UPDATE data set `value` = REPLACE(`value`,'\\n', char(10)) WHERE `key`='shipping_address'; 
2

あなたはこのような\をエスケープするのを忘れ:

UPDATE data set `value` = REPLACE(`value`,'\\n', char(10)) WHERE `key`='shipping_address'; 
+0

それはほとんどの部分のために働いた。 \ nの代わりに '0'を挿入したコードを使用して、char(10)+ char(13)からchar(10)に変更する必要がありました。あなたが正しい文字コードを指定しているので変わっていました。私はchar(13)を忘れていました。しかし、乾杯! – bjohnb

+0

@bjohnb Roger that、私は答えを編集しました:) –

+0

申し訳ありませんが、@aF、私はあなたにそのダニを与えたかったのですが、それは正しく引用されていませんでした。彼らにそれを与える。私の誠実なaplogies;) – bjohnb

0

改行文字はどちらか「です\ o 'に応じてn'(改行)または '\ r'(キャリッジリターン)、またはCRに続いてLF '\ r \ n'を入力します。

UPDATE data set `value` = REPLACE(`value`,'\r' or '\n' or '\r\n', char(10)) WHERE `key`='shipping_address'; 
0

私の場合:私はそれが\を持っていたと思ったのnが、それは、\ rの

update [Table] set [column]=replace(convert([column] using utf8) ,'\r',''); 
関連する問題