rakutoネット
お問合せ 免責事項 Q&A 掲示板 サイト管理 リンク サイトマップ
HOME > SQLiteでの日付データ

SQLiteでの日付データ


日付データ

SQLiteには型がありません。
日付、時間や数値などを定義しても文字列情報として扱われます。
そこで入力の際に注意しなければならいことが出てきます。
以下では日付を例に説明します。

日付データを入力する

idとdate(日付)のシンプルなテーブルを作成します。

型を指定していますがSQLiteでは文字列として扱われます。

CREATE TABLE date_tbl (
    id          INTEGER NOT NULL,
    date        DATE
    PRIMARY KEY (id)
)

CID 項目名 型名 NOT NULL 初期値 キー
0 id INTEGER not null PRIMARY
1 date DATE

日付データの出力

1月から12月の10日を1行づつ挿入しました。
以下にあるSELECT文を実行します。
SELECT * FROM date_tbl;
id date
12003-1-10
22003-02-10
32003-03-10
42003-4-10
52003-05-10
62003-6-10
72003-07-10
82003-8-10
92003-09-10
102003-10-10
112003-11-10
122003-12-10


日付をキーにして並び替えを行います。
SELECT * FROM date_tbl ORDER BY date;
id date
22003-02-10
32003-03-10
52003-05-10
72003-07-10
92003-09-10
12003-1-10
102003-10-10
112003-11-10
122003-12-10
42003-4-10
62003-6-10
82003-8-10
意図した通りの結果が得られませんでした。
1・4・6・8月が後ろに来ています。
文字列としてソートされた為この様な結果となりました。

日付を挿入する際はフォーマットされた値を挿入する必要があります。
$date = sprintf("%4d-%02d-%02d",$year,$month,$day);

テーブルの値に直接タイムスタンプ値を入れるのも一つの方法かと思います。
$timestamp = mktime(0,0,0,$month,$day,$year);

<<SQLiteでの外部結合
SQLite Tips SQLiteでの日付関数>>

PHPリング

@PHP.ring Home
<5 <1 Random List 1> 5>

rktSQLite

  • sourceforge.jp

広告


アマゾン検索

サーチ:
Amazon.co.jpアソシエイト

カテゴリ

  •  Templateエンジンのすすめ Templateエンジンのすすめ
  •  SQLiteをやってみよう SQLiteをやってみよう
  •  SQLite SQLコマンド一覧 SQLiteコマンド一覧
  •  SQLite 管理プログラムSQLite 管理
  •  はじめてのEclipse はじめてのEclipse
  •  PHP SQLiteのTIPS PHP SQLiteのTIPS
  •  サンプル サンプル/ダウンロード
  •  リンク リンク
  •  掲示板 掲示板

メニュー

  •  SQLiteのシーケンス設定
  •  SQLiteでの外部結合
  •  SQLiteでの日付データ
  •  SQLiteでの日付関数
  •  SQLiteでの年齢計算
  •  SQLiteでのalter

キーワード検索

キーワード



最近のTB

  •  2006/03/13さくらのブログに挑戦[rakutoネットブログ]
  •  2006/01/20レーザーチャートの作成方法[脳内研究所]

Summary

  •     ATOM(XML)
  •     RDF(XML)
  •     RSS0.92(XML)
  •     RSS2.0(XML)

Powered by

  •     PHP
  •     Smarty
  •     SQLite
  •     MySQL
Copyright (C) 2005 `rakuto.net' All Rights Reserved.