僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
WHERE $COLUMNS = NULL では空集合が返される。
mysql> SELECT * FROM nulltest; +--------+------+------+ | number | n1 | n2 | +--------+------+------+ | 1 | foo | NULL | | 2 | NULL | bar | | 3 | fizz | fizz | | 4 | NULL | NULL | +--------+------+------+ 4 rows in set (0.00 sec)
mysql> SELECT * FROM nulltest WHERE n1 = NULL; Empty set (0.00 sec)
この場合は IS を使う。
mysql> SELECT * FROM nulltest WHERE n1 IS NULL; +--------+------+------+ | number | n1 | n2 | +--------+------+------+ | 2 | NULL | bar | | 4 | NULL | NULL | +--------+------+------+ 2 rows in set (0.01 sec)
それから、NULL値同士の比較も無意味。
mysql> SELECT * FROM nulltest -> WHERE n1 = n2; +--------+------+------+ | number | n1 | n2 | +--------+------+------+ | 3 | fizz | fizz | +--------+------+------+ 1 row in set (0.00 sec)
突っ込んでしまった。
さしあたり、
$ sudo -u postgres psql
で行くことにする。
とりあえずは、helpと睨めっこ、では埒があかない。
適当に検索して、
postgres=# \l データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権 -----------+----------+------------------+-------------+-------------------+----------------------- mydb | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres
postgres=# \dt リレーションの一覧 スキーマ | 名前 | 型 | 所有者 ----------+---------+----------+---------- public | cities | テーブル | postgres public | weather | テーブル | postgres (2 行)
postgres=# \d cities テーブル "public.cities" 列 | 型 | 修飾語 ----------+-----------------------+-------- name | character varying(80) | location | point |
postgres=# \c mydb データベース "mydb" にユーザ"postgres"として接続しました。
いつまでもスーパーユーザで遊ぶわけにはゆくまい。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。