SQLではSELECT時などにCASE文を入れる事で「IF-THEN-ELSE式」を記載することも出来ます。
使用例
サンプルテーブル
「GOODS」
クエリー(SQL)
- 以下の例ではCASE文でGOODS_CODEが特定の値と一致した場合、NAME列に文字列を付与してTEST列として出力しています。
|
SELECT NAME, GOODS_CODE, (CASE GOODS_CODE WHEN 101 THEN '【PC】' || NAME WHEN 201 THEN '【DESK】' || NAME ELSE '【OTHER】' || NAME END) test FROM GOODS g; |
出力結果
Excelで順位を求めるにはRANK関数を使用することで可能となります。
RANK関数は「=RANK(数値, 参照, [順序])」の書式で入力します。
第3引数の順序には0(降順で並び替えて数値の大きい方から数えた順位) or 1(昇順で並び替えて数値の大きい方から数えた順位)を指定してます。省略した場合は降順での順位が表示されます。
RANK関数を使用して順位付けする例
- 以下の例ではC2セルの書式へ「=RANK(B2,B$2:B$5,1)」を入力しています。
Windowsで現在使用中のポート番号を確認する方法をメモしておきます。
使用中のポート番号を確認する方法
- コマンドプロンプトを起動してコマンド「netstat -ano」を入力してEnter。
netstatコマンドのオプションの意味は以下の通り。
オプション | 説明 |
a | すべてのネットワーク接続を表示する |
n | DSN逆引きを行わない |
o | プロセスIDを表示する |
p プロトコル | 指定したプロトコルの接続のみ表示する
プロトコル:TCP, UDP, TCPv6, UDPv6 |
r | ルーティングテーブルを表示する |
s | プロトコルごとの統計情報を表示する |
? | コマンドのヘルプを表示する |
- 以下の様にローカルアドレスの「:」の右側に表示されているのがポート番号となります。
プロセスID(PID)から実行中のサービス名を特定する方法
上記でプロセスID(PID)を特定出来たら該当するサービス名を特定することも出来ます。
例としてポート番号「1521」のPID「1604」がどのサービスで使用されているかタスクマネージャーで確認してみましょう
- 以下の様にタスクマネージャーのサービス一覧で該当するPID「1604」のサービス名が「OracleOraDB18Home1TNSListener」であることが確認出来ました。
OracleではTRUC関数を使用することで年、月、日、時、分、秒以下を切り捨てて取得することが可能となります。
使用例
サンプルテーブル「BIRTHDAY」
クエリー(SQL)
- BIRTHDAYテーブルのUPDATE_DATEに対してTRUNC関数を使用した例となります。第2引数へformatを指定することで指定した単位で切り捨てた値を取得することが出来ます。
|
SELECT TRUNC(b.UPDATE_DATE, 'YYYY'), TRUNC(b.UPDATE_DATE, 'MM'), TRUNC(b.UPDATE_DATE, 'DD'), TRUNC(b.UPDATE_DATE, 'HH'), TRUNC(b.UPDATE_DATE, 'MI') FROM BIRTHDAY b; |
- formatの種類
format | 説明 |
YYYY | 年まで取得して月日時分秒を切り捨て |
MM | 年月まで取得して日時分秒を切り捨て |
DD | 年月日まで取得して時分秒を切り捨て |
HH | 年月日時まで取得して分秒を切り捨て |
MI | 年月日時分まで取得して秒を切り捨て |
出力結果
Oracle Databaseをインストールすると自動的に作成される管理者ユーザー「SYS」と「SYSTEM」のデフォルトパスワードについてメモしておきます。
SYSユーザーのデフォルトパスワード:change_on_install
SYSTEMユーザーのデフォルトパスワード:manager
複数人開発メンバーがいる状況などで共通で使用しているアカウントでリモートデスクトップ接続する可能性がある場合、リモートデスクトップでの接続は基本後勝ち方式になってしまうため、先に誰かがリモートデスクトップで接続していると後発ユーザーが権限奪ってしまい先に使用している人へ迷惑をかけてしまう可能性があります。
なのでリモートデスクトップで共通で使用しているアカウントでログインする場合は事前にアクティブ状況は最低限確認しておきましょうというお話。
事前に接続先サーバーへのログインユーザーのアクティブ状況を確認する方法
- コマンドプロンプトを起動して「qwinsta /server:[接続先のサーバー名]」を入力して実行します。
- 以下の様に状態へ「Active」と表示されていれば該当ユーザーでログイン中となっているのが確認出来るので、そのユーザーでリモートデスクトップ接続する前に周囲にいつまで使用予定なのかなどを確認してから使用すると不要な摩擦を生むのを回避出来ます。
SQLでシステム日付、誕生日を使用して年齢、システム日付~誕生日までの月数、日数を取得するSQLをメモしておきます。
以下はOracleでの実行例となっています。
サンプルテーブル
「BIRTHDAY」テーブル
【Oracle】システム日付と誕生日から年齢、誕生日までの月数、日数を表示する例
クエリー(SQL)例
|
SELECT TO_CHAR(sysdate,'YYYY-MM-DD') "本日の日付", TO_CHAR(b.BIRTHDAY,'YYYY-MM-DD') "誕生日", EXTRACT(YEAR FROM sysdate) - EXTRACT(YEAR FROM b.BIRTHDAY) "年齢", TRUNC(MONTHS_BETWEEN(sysdate,b.BIRTHDAY)) "誕生日までの月数", TRUNC(sysdate - b.BIRTHDAY) "誕生日までの日数" FROM dual, BIRTHDAY b; |
実行結果
「駑馬十駕」 IT系情報を中心に調べた事をコツコツ綴っています。