MOD, SQL'de birinci sayının ikinci sayıya bölümünden kalanı döndüren bir dize işlevidir.
MOD İşlevinin Sözdizimi
SELECT MOD(Number1, Number2) AS Alias_Name;
MOD sözdiziminde Sayı1 bölen, Sayı2 ise bölendir.
Yapılandırılmış Sorgu Dili'nde MOD fonksiyonunu aşağıdaki blokta gösterildiği gibi tablonun sütunlarıyla da kullanabiliriz:
int java'ya dize
SELECT MOD(Column_Name1, Column_Name2) AS Alias_Name FROM Table_Name;
Bu sözdiziminde MOD fonksiyonunu gerçekleştirmek istediğimiz tablonun adını ve sütunlarını tanımlamamız gerekiyor.
MOD işlevi örnekleri
Örnek 1: Bu örnekte kalanı 101'i 4'e bölerek elde ediyoruz:
SELECT MOD(101, 4) AS Division_of_101by4;
Çıktı:
| Division_of_101by4 |
|---|
| 1 |
Örnek 2: Bu örnek, 101'i 4'e böler ve kalanı sonuç olarak döndürür:
SELECT MOD(2, 2) AS Division_of_2by2;
Çıktı:
| Division_of_2by2 |
|---|
| 0 |
Örnek 3: Bu örnek, 8'i 5'e böler ve kalanı sonuç olarak döndürür:
SELECT MOD(8, 5) AS Division_of_8by5;
Çıktı:
| Division_of_8by5 |
|---|
| 3 |
Örnek 4: Bu örnek, 255'i 200'e böler ve kalanı sonuç olarak döndürür:
SELECT MOD(255, 200) AS Division_of_255by200;
Çıktı:
tarihe dize
| Division_of_255by200 |
|---|
| 55 |
Örnek 5: Bu örnekte SQL tablosuyla MOD işlevi kullanılmaktadır.
Bu örnekte tablonun sütunları üzerinde MOD fonksiyonunu gerçekleştireceğimiz yeni tabloyu oluşturacağız:
Aşağıda SQL'de yeni tabloyu oluşturmaya yönelik söz dizimi gösterilmektedir:
CREATE TABLE Name_of_New_Table ( First_Column_of_table Data Type (character_size of First Column), Second_Column_of_table Data Type (character_size of the Second column ), Third_Column_of_table Data Type (character_size of the Third column), ......., Last_Column_of_table Data Type (character_size of the Last column) );
Aşağıdaki CREATE ifadesi şunu oluşturur: Ürün Detayları Ürünlerin fiyatını ve miktarını saklamak için tablo:
dinler listesi
CREATE TABLE Product_Details ( Product_ID INT NOT NULL, Product_Name Varchar(50), Product_Quantity INT, Purchasing_Price INT, Selling_Price INT, Release_Date Date, Product_Rating INT );
Aşağıdaki çoklu INSERT sorguları, ürünlerin kayıtlarını satış ve satın alma fiyatlarıyla birlikte Product_Details tablosuna ekler:
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (104, P1, 10, 945, NULL, 2022-04-30, NULL); INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (202, P4, 15, 45, 75, 2022-01-28, 5); INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (103, P2, 18, 25, NULL, 2022-02-18, 4); INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (111, P7, 25, 5, 15, 2021-12-25, 9); INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (210, P6, 15, 50, 70, 2021-10-15, NULL); INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (212, P8, 19, 110, 250, 2022-01-28, 4); INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (112, P10, 10, 550, 835, 2022-04-11, NULL);
Aşağıdaki SELECT ifadesi yukarıdakilerin eklenen kayıtlarını görüntüler Ürün Detayları masa:
SELECT * FROM Product_Details;
| Ürün kimliği | Ürün adı | Ürün miktarı | Satın alma bedeli | Satış fiyatı | Yayın tarihi | Ürün_Derecelendirmesi |
|---|---|---|---|---|---|---|
| 104 | P1 | 10 | 945 | HÜKÜMSÜZ | 2022-04-30 | HÜKÜMSÜZ |
| 202 | P4 | on beş | Dört beş | 75 | 2022-01-28 | 5 |
| 103 | P2 | 18 | 25 | HÜKÜMSÜZ | 2022-02-18 | 4 |
| 111 | P7 | 25 | 5 | on beş | 2021-12-25 | 9 |
| 210 | P6 | on beş | elli | 70 | 2021-10-15 | HÜKÜMSÜZ |
| 212 | S8 | 19 | 110 | 250 | 2022-01-28 | 4 |
| 112 | P10 | 10 | 550 | 835 | 2022-04-11 | HÜKÜMSÜZ |
Sorgu 1: Aşağıdaki SELECT sorgusu, yukarıdaki Product_Details tablosunun Product_Quantity sütunuyla birlikte MOD işlevini kullanır:
SELECT Product_ID, MOD(Product_ID, 100) AS Division_of_ProductID_by100 FROM Product_Details;
Bu sorgu, her ürün_id'sini 100'e böler ve bölme işleminden sonra kalanı döndürür.
Çıktı:
fabrika yöntemi tasarım deseni
| Ürün kimliği | Division_of_ProductID_by100 |
|---|---|
| 104 | 4 |
| 202 | 2 |
| 103 | 3 |
| 111 | on bir |
| 210 | 10 |
| 212 | 12 |
| 112 | 12 |
Sorgu 2: Aşağıdaki SELECT sorgusu, yukarıdaki Product_Details tablosunun Purchasing_Price ve Selling_Price sütunlarıyla MOD işlevini kullanır:
SELECT Purchasing_Price, Product_Quantity, MOD(Purchasing_Price, Product_Quantity) AS Division_ofpurhcaseprice, Selling_Price, Product_Quantity, MOD(Selling_Price) AS Division_of_SellingPrice FROM Product_Details;
Bu sorgu her ürünün alış ve satış fiyatını ürün adedine göre bölerek kalanı döndürür.
Çıktı:
| Satın alma bedeli | Ürün miktarı | Division_ofpurhcaseprice | Satış fiyatı | Ürün miktarı | Division_ofsellingprice |
|---|---|---|---|---|---|
| 945 | 10 | 5 | HÜKÜMSÜZ | 10 | - |
| Dört beş | on beş | 0 | 75 | on beş | 0 |
| 25 | 18 | 7 | HÜKÜMSÜZ | 18 | - |
| 5 | 25 | 5 | on beş | 25 | on beş |
| elli | on beş | 5 | 70 | on beş | 10 |
| 110 | 19 | on beş | 250 | 19 | 3 |
| 550 | 10 | 0 | 835 | 10 | 5 |
Sorgu 3: Aşağıdaki SELECT sorgusu, yukarıdaki Product_Details tablosunun Product_Rating sütunuyla birlikte MOD işlevini kullanır:
SELECT MOD(Product_Rating, 2) AS Division_ofratingby2 FROM Product_Details;
Bu sorgu, her ürün derecelendirmesini 2'ye böler ve bölme işleminden sonra kalanı döndürür.
Çıktı:
| Ürün_Derecelendirmesi | Division_ofratingby2 |
|---|---|
| HÜKÜMSÜZ | - |
| 5 | 1 |
| 4 | 0 |
| 9 | 1 |
| HÜKÜMSÜZ | - |
| 4 | 0 |
| HÜKÜMSÜZ | - |