文字列フィールドの改行コードを取り除くSQLです。trim 関数を使いますがデフォルトだと空白文字だけなので、改行コードを指定してあげます。
update accesslog set useragent=trim(both E'\r\n' from usetagent);
- 改行コードをリテラルで書くには、"E" を付けてエスケープを有効にします
- "both" は文字列の両端を対象にする指定です
- その他 trim 関数の使い方はマニュアルを見てください
0 件のコメント
文字列フィールドの改行コードを取り除くSQLです。trim 関数を使いますがデフォルトだと空白文字だけなので、改行コードを指定してあげます。
update accesslog set useragent=trim(both E'\r\n' from usetagent);
なんかログ処理がエラー出していたんで調べてみると、User Agent におかしな文字コードが含まれているものがありました。元の文字コードが何なのか知らないけど、スペースが入る場所の文字コードが  じゃないのが入っているようです。コンソールでダンプしたら文字化けして見えるのですが、実際何が入っているかまでは確認してません。
なお、IP は米国マイクロソフト社ばかり、本当にマイクロソフトか怪しいもんです。これ、なんか気持ち悪いなあ。でも、2/2 のログだけなんだよなあ。あ~気持ち悪い。