M-OZ BLOG

Scheme-users.jpTwitter

# 2008/12/12(Fri) : [ORACLE] [SQL] [PERL] お仕事メモ

・レコードに行番号(連番)を割り当てる

 (1) ROWNUM を使う
  Ex: SELECT ROWNUM ,... FROM ...
  ※注意※ ROWNUM は ORDER BY で並び替えを行う前に番号を割り当てる。

 (2) ROW_NUMBER を使う
  Ex: SELECT ROW_NUMBER() OVER (ORDER BY ...) ,... FROM ...

・グループ毎にレコードに行番号(連番)を割り当てる

 (1) ROW_NUMBER と PARTITION BY を使う
  Ex: ROW_NUMBER() OVER (PARTITION BY ... ,... ORDER BY ... ,...)

・Windows 環境で ActivePerl と Oracle を同時に使うには

 そのままだとライブラリの検索パスが衝突するので、以下のようにソース内でライブラリの検索パスを設定する。

 BEGIN {
  @INC = ('/Perl/site/lib','/Perl/lib');
  $ENV{'NLS_LANG'} = 'Japanese_Japan.UTF8';
 }

・UTF8 で出力する

 binmode STDOUT,':utf8';
 binmode STDERR,':utf8';
 use utf8;

・UTF8 フラグを付ける

 use utf8;
 utf8::decode($str) # 破壊的

 use Encode;
 $str = Encode::decode('utf8',$str);

Perl の Unicode まわりは悪夢のようだ...

[TOP] [ALL]