logo

SQL'de TIME Veri Türü

  • 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); 

SQL'de TIME Veri Türü

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'); 

SQL'de TIME Veri Türü

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

Not: Yukarıdaki sorguda Small 's' kullanılması da aynı çıktıyı verecektir.