Home > SQL Archive

SQL Archive

【SQL】MySQLでauto_incrementを初期化する

  • Posted by: Keisuke
  • 2009年1月30日 21:14
表記の方法です。

テーブルの全てのレコードを削除した上で、以下のSQLを実行するだけでいいみたいです。


ALTER TABLE テーブル名 AUTO_INCREMENT = 1

【SQL】LPAD関数

  • Posted by: Keisuke
  • 2008年12月 5日 16:56
SQLにLPAD関数てのがあります。
左から文字列の充填をしてくれる関数です。

桁あわせをするときに便利です。

使い方は以下、

LPAD(列名,埋め込んだ後の文字数,'埋め込む文字')

(例)
hoge
+-----+
| No |
+-----+
| 1 |
| 2 |
| 6 |
| 10 |
| 156 |
+-----+

という、テーブルがあるとして
SELECT  LPAD(No,3,'0') FROM hoge

を実行すると。

 
+-------+
| No |
+-------+
| 001 |
| 002 |
| 006 |
| 010 |
| 156 |
+-------+

てな感じで、返ってきます。

また、使うかもしれないので、メモ。

【SQL】レコードをランダムに抽出

  • Posted by: Keisuke
  • 2008年10月22日 21:58
テーブル内のレコードをランダムに取得する方法です。

==============================
SELECT *
FROM hoge
ORDER BY random()
LIMIT 10
==============================

これで、ランダムに10件のレコードが取れます。

また使うかもしれないのでメモ。

SQL CASE式の使い方

  • Posted by: Keisuke
  • 2008年5月15日 17:09
SQLのCASE式がかなり便利です。
また、いつか使うかもしれないのでメモ。

以下のようなテーブルがあるとします

USER_LIST
------------------------------------------------------------
 |  id     |       name         |          sex         |
------------------------------------------------------------
 |   1     |     大塚愛         |          2            |
 |   2     |     大塚範一      |           1            |
 |   3     |   サイボーグ      |           3            |
------------------------------------------------------------

このテーブルに対して、
SELECT
       id,
       name,
       (
       CASE sex
             WHEN '1' THEN '男'
             WHEN '2' THEN '女'
             ELSE 'その他'
       END
       ) as sex
FROM USER_LIST

というSQLを書くと、

------------------------------------------------------------
 |  id     |       name         |          sex         |
------------------------------------------------------------
 |   1     |     大塚愛         |          女          |
 |   2     |     大塚範一      |           男          |
 |   3     |   サイボーグ      |       その他       |
------------------------------------------------------------

という結果が返ってきます。


今日は、SQLでかなりつまづいた・・・。
う~ん、まだまだ勉強が足りないですね。

SQLで文字列切り出し

  • Posted by: Keisuke
  • 2008年4月16日 16:22
PostgleSQLで文字列の切り出しをやりました。"substr"を使います。

SELECT substr('おおつかあい',1,4);
と書くと

おおつか
ってな感じで返ってきます。

開始位置以降、最後まで切り出す場合は、切り出す文字数を省略できるみたいです。

例えば、

SELECT substr('おおつかあい',5);
と書くと、

あい
と返ってきます。

なかなか便利ですね。

また使うかもしれないのでメモ。

SQLで文字列を数値に変換

  • Posted by: Keisuke
  • 2008年4月12日 19:29
SQLで文字列を数値に変換することができるみたいです。
書き方は以下

to_number( '01 ', '00' )
このように書くと、'01'という文字列が1という数値に変換されます。

このほかに、数値を文字列に変換する、to_charや文字列を日付データに変換する、to_dateという関数もあるみたいです。


う~ん、実際にプログラムを組んでると色々勉強になるな~。

Index of all entries

Home > SQL Archive

Iretのなかのひと
Links
あわせて読みたい
あわせて読みたいブログパーツ
iKnow!


Search
Links02
Feeds

Return to page top