- Zamanı veritabanınızın SQL tablolarında saklamanız gerektiğinde SQL'de birçok senaryo vardır.
- Zamanı SQL tablolarınızda saklamak için ilk adımınız tablonuzda zamanı saklayabilen bir sütun oluşturmak olmalıdır.
- Eğer saatin tablonuzun sütununda saklanmasını istiyorsanız TIME veri tipine sahip bir sütun oluşturmanız gerekir.
- TIME veri türü varsayılan olarak saati 'SS:DD:SS' formatında saklar.
- SQL'de SELECT deyimini kullanarak, zamanı SQL tablolarının sütunundan alabilirsiniz.
- Saati depolandığı varsayılan formatta almanın yanı sıra, SQL'de saatin daha okunabilir bir formatta alınabilmesini sağlayan bir TIME_FORMAT () işlevi vardır.
- Saati, tabloda saklandığı varsayılan formatta (ör. 'SS:DD:SS') alabilirsiniz veya saat, dakika ve saniye gibi zamanın belirli bölümlerini alma seçeneğiniz de vardır. ihtiyacımıza göre uygun bir parametre seçip onu TIME_FORMAT() fonksiyonuna ileterek. Saat ayrıca 12 saatlik ve 24 saatlik formatta da alınabilir.
- Ayrıca AM/PM'den sonra saati yazdırabiliriz.
Bu kavramı daha net anlamak için birkaç pratik örnek görelim. Tüm sorguları yazmak için MySQL veritabanını kullanacağız.
Veritabanında tablo oluşturmak için öncelikle içinde tablo oluşturmak istediğimiz veritabanını seçeceğiz.
mysql> USE dbs;
Daha sonra tablo oluşturmak için aşağıdaki sorguyu yazacağız:
mysql> CREATE TABLE items_tbl(ID INT, Item_Name VARCHAR(20), Item_Quantity INT, Item_Price INT, Item_OrderDate DATE, Item_OrderTime TIME);
Yukarıdaki sorguda ItemOrderTime adlı sütun, bu sütunun veri türü 'TIME' olarak ayarlandığından süreyi saklayacaktır.
Şimdi items_tbl tablosuna kayıt eklemek için bir sorgu yazacağız.
Java için adlandırma kuralı
mysql> INSERT INTO items_tbl(ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, Item_OrderTime) VALUES(1, 'Soap', 5, 200, '2021-07-08', '04:13:52'), (2, 'Toothpaste', 2, 80, '2021-07-10', '18:09:01'), (3, 'Pen', 10, 50, '2021-07-12', '12:00:02'), (4, 'Bottle', 1, 250, '2021-07-13', '15:07:05'), (5, 'Brush', 3, 90, '2021-07-15', '19:18:43'), (6, 'Notebooks', 10, 1000, '2021-07-26', '05:05:05'), (7, 'Handkerchief', 3, 100, '2021-07-28', '10:08:12'), (8, 'Chips Packet', 5, 50, '2021-07-30', '08:16:58'), (9, 'Marker', 2, 30, '2021-08-13', '02:18:32'), (10, 'Scissors', 1, 60, '2021-08-13', '07:17:30');
Tüm kayıtların items_tbl tablosuna başarıyla eklendiğini doğrulamak için SELECT sorgusunu çalıştıracağız.
mysql> SELECT *FROM items_tbl;
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Sabun | 5 | 200 | 2021-07-08 | 04:13:52 |
2 | Diş macunu | 2 | 80 | 2021-07-10 | 18:09:01 |
3 | Dolma kalem | 10 | elli | 2021-07-12 | 12:00:02 |
4 | Şişe | 1 | 250 | 2021-07-13 | 15:07:05 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 | 19:18:43 |
6 | Defterler | 10 | 1000 | 2021-07-26 | 05:05:05 |
7 | Mendil | 3 | 100 | 2021-07-28 | 10:08:12 |
8 | Cips Paketi | 5 | elli | 2021-07-30 | 08:16:58 |
9 | İşaretleyici | 2 | 30 | 2021-08-13 | 02:18:32 |
10 | Makas | 1 | 60 | 2021-08-13 | 07:17:30 |
Yukarıdaki sorgu sonuçları, saatin depolandığı varsayılan formatta ('SS:DD:SS') alındığını göstermektedir.
Örnek 1:
item_tbl'den tüm değerleri ve öğelerin sipariş zamanını 12 saatlik formatta almak için AM/PM ile birlikte zaman değerlerini daha okunabilir bir formatta almak için bir sorgu yazın.
Java'da özelleştirilmiş istisna
Sorgu:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%r') AS Formatted_Time FROM items_tbl;
Burada TIME_FORMAT() fonksiyonu, saati 12 saatlik formatta ve ardından AM/PM şeklinde yazdırmak için '%r' parametresi ile Item_OrderTime'a uygulanır.
Çıktı olarak aşağıdaki tabloyu alacaksınız:
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Sabun | 5 | 200 | 2021-07-08 | 04:13:52 |
2 | Diş macunu | 2 | 80 | 2021-07-10 | 06:09:01 PM |
3 | Dolma kalem | 10 | elli | 2021-07-12 | 12:00:02 |
4 | Şişe | 1 | 250 | 2021-07-13 | 03:07:05 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 | 07:18:43 PM |
6 | Defterler | 10 | 1000 | 2021-07-26 | 05:05:05 |
7 | Mendil | 3 | 100 | 2021-07-28 | 10:08:12 |
8 | Cips Paketi | 5 | elli | 2021-07-30 | 08:16:58 |
9 | İşaretleyici | 2 | 30 | 2021-08-13 | 02:18:32 |
10 | Makas | 1 | 60 | 2021-08-13 | 07:17:30 |
Örnek 2:
item_tbl'den tüm değerleri ve öğelerin sipariş zamanını 12 saatlik formatta almak için AM/PM ile birlikte zaman değerlerini daha okunabilir bir formatta almak için bir sorgu yazın.
Sorgu:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%T %p') AS Formatted_Time FROM items_tbl;
Burada TIME_FORMAT() fonksiyonu Item_OrderTime üzerinde '%T %p' parametresi ile uygulanmaktadır. '%T' saati 24 saatlik formatta yazdıracak ve '%p' AM/PM'yi 24 saatlik formattaki saate ekleyecektir.
Çıktı olarak aşağıdaki tabloyu alacaksınız:
tarama.sonraki java
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Sabun | 5 | 200 | 2021-07-08 | 04:13:52 |
2 | Diş macunu | 2 | 80 | 2021-07-10 | 18:09:01 PM |
3 | Dolma kalem | 10 | elli | 2021-07-12 | 12:00:02 |
4 | Şişe | 1 | 250 | 2021-07-13 | 15:07:05 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 | 19:18:43 |
6 | Defterler | 10 | 1000 | 2021-07-26 | 05:05:05 |
7 | Mendil | 3 | 100 | 2021-07-28 | 10:08:12 |
8 | Cips Paketi | 5 | elli | 2021-07-30 | 08:16:58 |
9 | İşaretleyici | 2 | 30 | 2021-08-13 | 02:18:32 |
10 | Makas | 1 | 60 | 2021-08-13 | 07:17:30 |
Örnek 3:
item_tbl'den tüm değerleri ve tüm sipariş süresindeki yalnızca öğelerin sipariş saatini 24 saat formatında almak için bir sorgu yazın.
Sorgu:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%H') AS Item_OrderHour FROM items_tbl;
Burada TIME_FORMAT () fonksiyonu, özellikle ürünün sipariş edildiği saati yazdırmak için Item_OrderTime'a '%H' parametresi ile uygulanır. Büyük H, saatin 24 saat formatında basılacağını belirtir.
Çıktı olarak aşağıdaki tabloyu alacaksınız:
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Sabun | 5 | 200 | 2021-07-08 | 04 |
2 | Diş macunu | 2 | 80 | 2021-07-10 | 18 |
3 | Dolma kalem | 10 | elli | 2021-07-12 | 12 |
4 | Şişe | 1 | 250 | 2021-07-13 | on beş |
5 | Fırçalamak | 3 | 90 | 2021-07-15 | 19 |
6 | Defterler | 10 | 1000 | 2021-07-26 | 05 |
7 | Mendil | 3 | 100 | 2021-07-28 | 10 |
8 | Cips Paketi | 5 | elli | 2021-07-30 | 08 |
9 | İşaretleyici | 2 | 30 | 2021-08-13 | 02 |
10 | Makas | 1 | 60 | 2021-08-13 | 07 |
Örnek 4:
item_tbl'den tüm değerleri ve tüm sipariş süresindeki yalnızca öğelerin sipariş saatini 12 saatlik formatta almak için bir sorgu yazın.
Sorgu:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%h') AS Item_OrderHour FROM items_tbl;
Burada TIME_FORMAT () fonksiyonu, özellikle ürünün sipariş edildiği saati yazdırmak için Item_OrderTime'a '%h' parametresi ile uygulanır. Küçük 'h', saatin 12 saatlik formatta yazdırılacağını belirtir.
Çıktı olarak aşağıdaki tabloyu alacaksınız:
kesir olarak 0,04
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Sabun | 5 | 200 | 2021-07-08 | 04 |
2 | Diş macunu | 2 | 80 | 2021-07-10 | 6 |
3 | Dolma kalem | 10 | elli | 2021-07-12 | 12 |
4 | Şişe | 1 | 250 | 2021-07-13 | 03 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 | 07 |
6 | Defterler | 10 | 1000 | 2021-07-26 | 05 |
7 | Mendil | 3 | 100 | 2021-07-28 | 10 |
8 | Cips Paketi | 5 | elli | 2021-07-30 | 08 |
9 | İşaretleyici | 2 | 30 | 2021-08-13 | 02 |
10 | Makas | 1 | 60 | 2021-08-13 | 07 |
Örnek 5:
item_tbl'den tüm değerleri ve tüm sipariş süresi boyunca yalnızca bir öğenin sipariş edildiği dakikayı almak için bir sorgu yazın.
Sorgu:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%i') AS Item_OrderMinute FROM items_tbl;
Burada TIME_FORMAT () fonksiyonu, özellikle ürünün sipariş edildiği dakikayı yazdırmak için '%i' parametresi ile Item_OrderTime'a uygulanır. Küçük 'i', 'Item_OrderTime'ın tamamındaki dakikanın yazdırılacağını belirtir.
Çıktı olarak aşağıdaki tabloyu alacaksınız:
Java'da tarih
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Item_OrderDate | Item_OrderMinute |
---|---|---|---|---|---|
1 | Sabun | 5 | 200 | 2021-07-08 | 13 |
2 | Diş macunu | 2 | 80 | 2021-07-10 | 09 |
3 | Dolma kalem | 10 | elli | 2021-07-12 | 00 |
4 | Şişe | 1 | 250 | 2021-07-13 | 07 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 | 18 |
6 | Defterler | 10 | 1000 | 2021-07-26 | 05 |
7 | Mendil | 3 | 100 | 2021-07-28 | 08 |
8 | Cips Paketi | 5 | elli | 2021-07-30 | 16 |
9 | İşaretleyici | 2 | 30 | 2021-08-13 | 18 |
10 | Makas | 1 | 60 | 2021-08-13 | 17 |
Örnek 6:
item_tbl'den tüm değerleri ve tüm sipariş süresi boyunca yalnızca bir öğenin sipariş edildiği saniyeleri almak için bir sorgu yazın.
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%S') AS Item_OrderSeconds FROM items_tbl;
Burada TIME_FORMAT () işlevi, özellikle öğenin sipariş edildiği saniyeleri yazdırmak için '%S' parametresiyle Item_OrderTime'a uygulanır. Büyük 'S', 'Item_OrderTime'ın tamamındaki dakikanın yazdırılacağını belirtir.
Çıktı olarak aşağıdaki tabloyu alacaksınız:
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Item_OrderDate | Item_Order_Seconds |
---|---|---|---|---|---|
1 | Sabun | 5 | 200 | 2021-07-08 | 52 |
2 | Diş macunu | 2 | 80 | 2021-07-10 | 01 |
3 | Dolma kalem | 10 | elli | 2021-07-12 | 02 |
4 | Şişe | 1 | 250 | 2021-07-13 | 05 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 | 43 |
6 | Defterler | 10 | 1000 | 2021-07-26 | 05 |
7 | Mendil | 3 | 100 | 2021-07-28 | 12 |
8 | Cips Paketi | 5 | elli | 2021-07-30 | 58 |
9 | İşaretleyici | 2 | 30 | 2021-08-13 | 32 |
10 | Makas | 1 | 60 | 2021-08-13 | yirmi |