DB2のSUM関数やAVG関数で算術オーバーフローを回避する方法
データ型がintegerなどのカラムの演算で算術オーバーフロー(SQL0802N Arithmetic overflow or other arithmetic exception occurred. SQLSTATE=22003)が発生したときの対処法。
SELECT SUM(BIGINT(xxx)) FROM table
bigint関数やdecimal関数でデータ型を変換すれば、オーバーフローを防ぐことができます。
日本語ファイル名の文字コードを変換するスクリプト
以下はSJISの日本語ファイル名をUTF-8に変換する例。
コマンドはiconvを使用するので、ほとんどのOSで動作するはず。
追記:文字列と文字コードの組み合わせによっては上手く動作しない(文字化けしたファイルのmvで失敗する)ことがわかったので、Perlで書き直しました。
日本語ファイル名の文字コードを変換するスクリプト(Perl版) - myhd
#!/bin/sh for sjis_name in `find .` do utf8_name=`echo "${sjis_name}" | iconv -f SJIS -t UTF-8` if [ "${sjis_name}" != "${utf8_name}" ]; then mv "${sjis_name}" "${utf8_name}" fi done
使える文字コードは
iconv -l
で確認できます。
ちなみに、世の中にはconvmvというツールがあるらしいので、リッチな環境の方はそちらを。
psコマンドの結果からプロセスIDを取得するときはcutではなくawkを使う
cutとawkの違いを読み間違えた件について、懺悔というか反省文。
目的:
以下の出力結果からpsコマンドのプロセスID(1234)を取得したい。
$ ps -ef | head -n 3 UID PID PPID C STIME TTY TIME CMD myokoym 1234 0 0 12:34 pts/0 00:00:00 ps -ef myokoym 999999 0 0 12:34 pts/0 00:00:00 head
手順:
該当行をgrepコマンドで抽出し、スペース区切りで2番目のフィールド(カラム)を取得する。
cutの場合
最初はcutを使ってみます。
$ ps -ef | head -n 3 | grep "ps -ef" | cut -d" " -f2
何も出力されません。試しにheadのプロセスIDを取得すると、
$ ps -ef | head -n 3 | grep "head" | cut -d" " -f2 999999
こちらは取れました。どうも、cutだとスペースが連続する場合に上手く取れない様子。スペースの数だけフィールド数が増えてしまっています。
$ ps -ef | head -n 3 | grep "ps -ef" | cut -d" " -f4 1234
ちなみに、cutのデフォルトの区切り文字は「タブ」です。
Ubuntu11.04の端末にバックスラッシュを表示する方法
Ubuntu11.04日本語環境の端末は、デフォルトではバックスラッシュが半角¥記号で表示されています。しばらくはそのまま使っていたのですが、Linuxならバックスラッシュだろう!と思い立ち、変更できないか挑戦してみました。
調べてみると、使用するフォントに拠るとのこと。昔のUbuntuはVLゴシックというものがデフォルトだったそうなので、それを採用することにします。
まずはフォントをインストール。Ubuntuソフトウェアセンターから「vlgothic」で検索するか、端末で以下のコマンドを実行します。
$ sudo apt-get install ttf-vlgothic
端末を開いてみると、デフォルトではこの通り。牛さんが残念なことになっています。
端末のフォントは右クリックメニューからプロファイルを選択して変更できます。
フォントの部分をクリックし、VLゴシックを選択。
比べてみると、なんだか縦に長くなっています。見やすさはいい勝負かと。
日本語のフォントも少し特徴的ですが、個人的には嫌いじゃないので満足です。 ;-)
GoogleDocs Presentationを使ってみる
ハンズオンで作成中。
初スマホ(IS12SH)感想(1)導入編
ついに携帯をスマートフォンにしました。機種はIS12SH(Android au with Google)。
感想やauショップのお姉さんに聞いたことをつらつら書きます。
- 初期費用0円(ショップによる?自分はオーロラタウンのauショップで)
- 毎月の上乗せ料金は24回分割で約3000円ー毎月割適用で1700円割引→機種代は実質3万くらい?
- 今月はダブル定額のままだけど、PCサイトビューア使用時の金額と同じ扱いになる。
- ISフラットは上記のダブル定額PCサイトビューア使用時の上限額より525円安い。ただし使わなくても定額。
- 充電器はスマホ用を新たに購入。
- 充電器はアダプタにUSBが刺さってる作りになってて、それをPCに繋げば通信可。
- ガラケーからのデータ引継ぎはショップではやってくれない。
- アドレス帳はGMailの連絡先を経由して同期。
- 具体的には、GMailにエクスポートしてから、IS12SHで設定→アカウントと同期→Googleアカウント→連絡先を同期。
- EZWebが使えなくなるため、有料サービスは事前に解約すると楽。(IS12SHは可能だけど、機種によっては解約不可)
- ケースと保護シートは、au純正のシリコンケースとマット加工シートを別々に購入。とりあえずこれでしばらく使ってみる。
- 白の本体に黒のケースつけたら見た目がアンドロイドっぽくなった。3D用のツインカメラが目に見える(笑)
auのEメール(@ezweb.ne.jp)も使えているので、特に問題はなかったです。今は無造作にアプリ入れたりアプリ開発の勉強したりしてます。とりあえずアラームアプリがちゃんと動くことを確認してから寝よう・・
- 作者: 堀切堤
- 出版社/メーカー: リックテレコム
- 発売日: 2011/05
- メディア: 単行本
- 購入: 4人 クリック: 377回
- この商品を含むブログ (3件) を見る