tulisan ini adalah praktek, hanya ada script saja tanpa ada penjelasan.
D:\CENTRAL>sqlite3 data.purwant
SQLite version 3.8.10.2 2015-05-20 18:17:19
Enter ".help" for usage hints.
sqlite>
create TABLE PEMAKAIAN_BAN(TANGGAL DATE,MERK_BAN CHAR(60),JUMLAH INT,SAT
UAN
CHAR(5),ALOKASI CHAR(5),SITE CHAR(20),POSISI CHAR(3),NO_SERI CHAR(50));
sqlite>
.table
PEMAKAIAN_BAN
sqlite>
.schema
CREATE
TABLE PEMAKAIAN_BAN(TANGGAL DATE,MERK_BAN CHAR(60),JUMLAH INT,SATUAN CHAR
(5),ALOKASI
CHAR(5),SITE CHAR(20),POSISI CHAR(3),NO_SERI CHAR(50));
sqlite>
.schema PEMAKAIAN_BAN
CREATE TABLE PEMAKAIAN_BAN(TANGGAL
DATE,MERK_BAN CHAR(60),JUMLAH INT,SATUAN CHAR
(5),ALOKASI CHAR(5),SITE CHAR(20),POSISI
CHAR(3),NO_SERI CHAR(50));
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-01','GT MAX 10.00','2','PCS','
412','ANGSANA','BLK','');
sqlite> SELECT*FROM PEMAKAIAN_BAN;
2015-01-01|GT MAX 10.00|2|PCS|412|ANGSANA|BLK|
sqlite> DELETE FROM PEMAKAIAN_BAN WHERE
ALOKASI='412'
...> ;
sqlite> SELECT*FROM PEMAKAIAN_BAN;
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-01','GT MAX 10.00','2','PCS','
412','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-01','GT MAX 10.00','2','PCS','
413','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-01','GT MAX 10.00','2','PCS','
102','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-01','GT MAX 10.00','2','PCS','
118','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-01','GT MAX 10.00','2','PCS','
114','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-05','QIMA 11.00','2','PCS','41
1','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-05','GT MAX 10.00','2','PCS','
541','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-05','GT MAX 10.00','2','PCS','
119','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-05','MRF 11.00','2','PCS','121
','ANGSANA','DPN','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-05','GT MAX 10.00','2','PCS','
541','ANGSANA','DPN','');
sqlite> INSERT INTO PEMAKAIAN_BAN VALUES('2015-01-05','GT
MAX 10.00','2','PCS','
014','ANGSANA','DPN','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-07','GT MAX 10.00','2','PCS','
106','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-07','GT MAX 10.00','2','PCS','
107','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-07','GT MAX 10.00','2','PCS','
109','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-07','GT MAX 10.00','2','PCS','
111','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-07','GT MAX 10.00','2','PCS','
537','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-07','GT MAX 10.00','2','PCS','
542','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-10','QIMA 10.00','2','PCS','11
7','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-10','GT MAX 10.00','2','PCS','
127','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-12','QIMA 11.00','2','PCS','40
1','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-14','GT MAX 10.00','2','PCS','
409','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-14','GT MAX 10.00','2','PCS','
102','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN VALUES('2015-01-14','GT
MAX 10.00','2','PCS','
535','ANGSANA','DPN','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-15','GT MAX 10.00','2','PCS','
535','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-16','POWER TECHKING 10.00','8'
,'SET','116','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-16','POWER TECHKING 10.00','8'
,'SET','531','ANGSANA','BLK','');
sqlite> INSERT INTO PEMAKAIAN_BAN
VALUES('2015-01-19','MRF 11.00','2','PCS','122
','','BLK','');
sqlite>
ALOKASI
= 536
PEMAKAIAN = 4
ALOKASI = 537
PEMAKAIAN = 4
ALOKASI = 538
PEMAKAIAN = 2
ALOKASI = 540
PEMAKAIAN = 4
ALOKASI = 541
PEMAKAIAN = 6
ALOKASI = 542
PEMAKAIAN = 2
sqlite> SELECT ALOKASI, SUM(JUMLAH) FROM
PEMAKAIAN_BAN WHERE HAVING MAX(SUM(JUML
AH)) GROUP BY ALOKASI
...> ;
Error: near "HAVING": syntax error
sqlite> SELECT ALOKASI, SUM(JUMLAH) FROM
PEMAKAIAN_BAN WHERE HAVING MAX(JUMLAH)
GROUP BY ALOKASI
...> ;
Error: near "HAVING": syntax error
sqlite> SELEC ALOKASI,MAX(JUMLAH)FROM
PEMAKAIAN_BAN GROUP BY ALOKASI;
Error: near "SELEC": syntax error
sqlite>
SELECT ALOKASI,MAX(JUMLAH)FROM PEMAKAIAN_BAN GROUP BY ALOKASI ORDER BY M
AX(JUMLAH)
DESC;
ALOKASI = 116
MAX(JUMLAH) = 8
menampilkan bulan
sqlite> select strftime('%m',
date(tanggal)) from pemakaian_ban;
sqlite> select*from pemakaian_ban where strftime('%m',
date(tanggal))='02';
2015-02-01 GT MAX 10.00
2 PCS 535 BLK
2015-02-01 GT MAX 10.00
2 PCS 537 BLK
2015-02-01 GT MAX 10.00
2 PCS 131 BLK
2015-02-01 GT MAX 10.00
2 PCS 115 BLK
BLK
sqlite> select alokasi,avg(jumlah) from pemakaian_ban
...> group by alokasi;
sqlite> select alokasi,strftime('%m',date(tanggal)),avg(jumlah) from
pemakaian_ban group by strftime('%m', date(tan
ggal)),alokasi;
sqlite> select alokasi,sum(jumlah) from
pemakaian_ban group by alokasi having sum(jumlah)>8 order by alokasi
asc;
116 10
sqlite> select alokasi,sum(jumlah) from
pemakaian_ban group by alokasi having sum(jumlah)>6 order by alokasi asc;
116 10
531 8
sqlite> select alokasi,sum(jumlah) from
pemakaian_ban group by alokasi having sum(jumlah)>4 order by alokasi asc;
102 6
116 10
401 6
412 6
531 8
535 6
541 6
sqlite>
mode tampilan
sqlite> .mode list
sqlite> select
alokasi,sum(jumlah) from pemakaian_ban group by alokasi having sum(jumlah)>4
order by alokasi asc
102|6
116|10
401|6
412|6
sqlite> .mode line
sqlite> select
alokasi,sum(jumlah) from pemakaian_ban group by alokasi having sum(jumlah)>4
order by alokasi asc;
ALOKASI = 102
sum(jumlah) = 6
ALOKASI = 116
sqlite> .mode column
sqlite> select
alokasi,sum(jumlah) from pemakaian_ban group by alokasi having sum(jumlah)>4
order by alokasi asc;
102 6
116 10
sqlite> .mode insert pemakaian_ban
sqlite> select*from pemakaian_ban where
alokasi='116';
INSERT INTO pemakaian_ban(TANGGAL,MERK_BAN,JUMLAH,SATUAN,ALOKASI,SITE,POSISI,NO_SERI)
VALUES('2015-01-16','POWER TE
CHKING
10.00',8,'SET','116','ANGSANA','BLK','');
INSERT INTO
pemakaian_ban(TANGGAL,MERK_BAN,JUMLAH,SATUAN,ALOKASI,SITE,POSISI,NO_SERI)
VALUES('2015-02-15','MRF 10.0
0',2,'PCS','116','','DPN','');
sqlite> .header on
sqlite> select
alokasi,sum(jumlah) from pemakaian_ban group by alokasi having sum(jumlah)>4
order by alokasi asc;
ALOKASI sum(jumlah)
---------- -----------
102 6
116 10
401 6
sqlite> select alokasi,max(jumlah)from pemakaian_ban group by
alokasi order by max(jumlah) desc limit 1;
ALOKASI max(jumlah)
---------- -----------
116 8
sqlite> select alokasi,max(jumlah)from
pemakaian_ban group by alokasi order by max(jumlah) desc;
ALOKASI max(jumlah)
---------- -----------
116 8
531 8
006 2
sqlite> select alokasi,sum(jumlah)from pemakaian_ban group by alokasi order
by max(jumlah) desc limit 1;
116 10
sqlite>
sqlite> select alokasi,sum(jumlah)from
pemakaian_ban group by alokasi order by max(jumlah) desc limit 3;
116 10
531 8
006 2
sqlite>
sqlite> select ALOKASI,strftime('%d', date(tanggal))AS tanggal,strftime('%m',date(tanggal)),strftime('%Y',date(tanggal)) from pemakaian_ban LIMIT 20;
412|01|01|2015
413|01|01|2015
102|01|01|2015
118|01|01|2015
114|01|01|2015
411|05|01|2015
CASE
WHEN bool_expression_1 THEN result_1
WHEN bool_expression_2 THEN result_2
[ ELSE result_else ]
END
sqlite> select case when 1>2 then
'1>2' else '1<2' end;
1<2
sqlite>
sqlite> select alokasi,avg(jumlah),(select avg(jumlah)from
pemakaian_ban), case when avg(jumlah)<(select avg(jumlah)from pemakaian_ban)
then
...> 'lbih kecil dari rata'
else 'lebih besar dari rata'
...> end as ket from
pemakaian_ban group by alokasi;
ALOKASI avg(jumlah) (select avg(jumlah)from pemakaian_ban) ket
---------- -----------
--------------------------------------
--------------------
006 2.0 2.15789473684211 lbih kecil dari rata
013 2.0 2.15789473684211 lbih kecil dari rata
014 2.0 2.15789473684211 lbih kecil dari rata
Fungsi tanggal sqlite
SQLite Tanggal Waktu
SQLite
mendukung lima tanggal dan waktu fungsi sebagai berikut:
SN
|
Fungsi
|
Contoh
|
1
|
tanggal
(timestring, pengubah ...)
|
Ini
mengembalikan tanggal dalam format ini: YYYY-MM-DD
|
2
|
waktu
(timestring, pengubah ...)
|
Ini
mengembalikan waktu sebagai HH: MM: SS
|
3
|
datetime
(timestring, pengubah ...)
|
Ini
mengembalikan YYYY-MM-DD HH: MM: SS
|
4
|
julianday
(timestring, pengubah ...)
|
Ini
mengembalikan jumlah hari sejak siang hari di Greenwich pada tanggal 24
November 4714 BC
|
5
|
strftime
(timestring, pengubah ...)
|
Ini
mengembalikan tanggal diformat sesuai dengan format string yang ditentukan
sebagai argumen pertama diformat sebagai per formatters dijelaskan di bawah.
|
Semua di
atas lima tanggal dan waktu fungsi mengambil string waktu sebagai argumen.
Waktu string diikuti oleh nol atau lebih pengubah. The strftime () fungsi juga
mengambil format string sebagai argumen pertama. Berikut bagian akan memberikan
detail pada berbagai jenis string waktu dan pengubah.
Waktu Strings:
Waktu string
dapat berada di salah satu format berikut:
SN
|
waktu String
|
Contoh
|
1
|
YYYY-MM-DD
|
2010/12/30
|
2
|
YYYY-MM-DD
HH: MM
|
2010/12/30
12:10
|
3
|
YYYY-MM-DD
HH: MM: SS.SSS
|
2010-12-30
12: 10: 04,100
|
4
|
MM-DD-YYYY
HH: MM
|
30-12-2010
00:10
|
5
|
HH: MM
|
00:10
|
6
|
YYYY-MM-DD
T HH: MM
|
2010/12/30
12:10
|
7
|
HH: MM: SS
|
00:10:01
|
8
|
YYYYMMDD
HHMMSS
|
20101230
121001
|
9
|
sekarang
|
2013/05/07
|
Anda dapat
menggunakan "T" sebagai karakter literal memisahkan tanggal dan
waktu.
pengubah
Waktu string
dapat diikuti oleh nol atau lebih pengubah yang akan mengubah tanggal dan /
atau waktu dikembalikan oleh salah satu dari lima fungsi di atas. Pengubah
diterapkan dari kiri ke kanan dan mengikuti modifers tersedia dalam SQLite:
- hari NNN
- jam NNN
- NNN menit
- detik NNN.NNNN
- NNN bulan
- NNN tahun
- awal bulan
- awal tahun
- awal hari
- hari kerja N
- unixepoch
- waktu lokal
- UTC
formatters:
SQLite
menyediakan sangat berguna fungsi strftime () untuk memformat setiap tanggal
dan waktu. Anda dapat menggunakan berikut substitusi untuk memformat
tanggal dan waktu:
Pengganti
|
Deskripsi
|
% d
|
Hari
bulan, 01-31
|
% f
|
pecahan
detik, SS.SSS
|
% H
|
Jam, 00-23
|
% j
|
Hari
tahun, 001-366
|
% J
|
jumlah
hari julian, DDDD.DDDD
|
% m
|
Bulan,
00-12
|
% M
|
Menit,
00-59
|
% s
|
Detik
sejak 1970/01/01
|
% S
|
Detik,
00-59
|
% w
|
Hari
minggu, 0-6 (0 hari Minggu)
|
% W
|
Minggu
tahun, 01-53
|
% Y
|
Tahun,
YYYY
|
%%
|
% simbol
|
contoh
Mari kita
coba berbagai contoh sekarang menggunakan cepat SQLite. Berikut menghitung
tanggal saat ini:
sqlite> SELECT date('now');
2013-05-07
Berikut
menghitung hari terakhir bulan ini:
sqlite> SELECT date('now','start
of month','+1 month','-1 day');
2013-05-31
Berikut
menghitung tanggal dan waktu untuk UNIX timestamp 1092941466 diberikan:
sqlite> SELECT
datetime(1092941466, 'unixepoch');
2004-08-19 18:51:06
Berikut
menghitung tanggal dan waktu untuk UNIX timestamp 1092941466 diberikan dan
mengimbangi zona waktu lokal Anda:
sqlite> SELECT
datetime(1092941466, 'unixepoch', 'localtime');
2004-08-19 13:51:06
Berikut
menghitung saat UNIX timestamp:
sqlite> SELECT
strftime('%s','now');
1393348134
Berikut
menghitung jumlah hari sejak penandatanganan Deklarasi Kemerdekaan AS:
sqlite> SELECT julianday('now') -
julianday('1776-07-04');
86798.7094695023
Berikut
menghitung jumlah detik sejak saat tertentu pada tahun 2004:
sqlite> SELECT strftime('%s','now')
- strftime('%s','2004-01-01 02:34:56');
295001572
Berikut
menghitung tanggal Selasa pertama di bulan Oktober untuk tahun berjalan:
sqlite> SELECT date('now','start
of year','+9 months','weekday 2');
2013-10-01
Berikut
menghitung waktu sejak zaman UNIX di detik (seperti strftime ( '% s',
'sekarang') kecuali termasuk bagian pecahan):
sqlite> SELECT (julianday('now')
- 2440587.5)*86400.0;
1367926077.12598
Untuk
mengkonversi antara UTC dan nilai-nilai waktu setempat ketika format tanggal,
menggunakan UTC atau localtime pengubah sebagai berikut:
sqlite> SELECT time('12:00',
'localtime');
05:00:00
sqlite> SELECT time('12:00', 'utc');
19:00:00
referensi http://sqlite.org/docs.html
No comments:
Post a Comment