現象

SQL# Plusで出力したcsvファイルなどをExcelで開いたら日本語の部分が全部文字化けになっちゃいました。

原因

出力ファイルはUTF8ですが、ExcelではShiftJisじゃないと文字化けするらしいです。

解決策

秀丸などのエディターで出力ファイルを開き、エンコードUTF8で名前をつけて保存。
そうすればExcelで開くときに文字化けは治る。

現象

SQL# Plusで出力したcsvファイルなどをExcelで開いたら日本語の部分が全部文字化けになっちゃいました。

原因

出力ファイルはUTF8ですが、ExcelではShiftJisじゃないと文字化けするらしいです。

解決策

秀丸などのエディターで出力ファイルを開き、エンコードUTF8で名前をつけて保存。
そうすればExcelで開くときに文字化けは治る。

2011年8月17日 #mysql #sql #oracle

これが既存データで、同じ日に複数のデータがある。

Example data

期望結果はこれ、つまり日付別で集計したい場合

Expected result

MySQLではDATE関数を使う

mysql> SELECT DATE(create_datetime), COUNT(*) FROM user_m GROUP BY DATE(create_datetime);

Oracleではto_char関数を使う

SELECT to_char(create_datetime, 'YYYY-MM-DD'), COUNT(*) FROM user_m GROUP BY to_char(create_datetime, 'YYYY-MM-DD');

参考

2011年2月18日 #php #php #環境構築 #oracle #xampp

Oracle Instantclientをインストールすることで、PHPからOracleデータベースへの接続が可能になります。

XAMPPのデフォルトインストールではそれが無効となっています。確認方法はphpinfoのページから'oci8'を検索して何もなかったらつまり接続できてないことです。

手順

  • php.ini(XAMPP/phpのパスにある)の中から;extension=php_oci8.dllを検索して、セミコロン(;)を削除。
  • Oracleから“Instant Client Package – Basic” for Windowsをダウンロードし、任意の場所に解凍。ここではc:\instantclient_11_1とする。
  • Windowsの環境変数pathに上記instantclientが解凍されたパスを追加(c:\instantclient_11_1)
  • そしてWindowsを再起動!
  • Apacheを再起動

確認

phpinfoのページからoci8を検索してあれば成功!

その他

  • ORACLE_HOMEやORACLE_SIDなどの環境変数はInstant Clientでは必要ないから設定しなくても大丈夫だそう。
  • パス設定後Windowsを再起動しないと、"unable to load dynamic library php_oci8.dll"のようなエラーが出た。