logo

MySQL CAST() İşlevi

MySQL'deki CAST() işlevi, bir değeri bir veri türünden ifadede belirtilen başka bir veri türüne dönüştürmek için kullanılır. Çoğunlukla WHERE, HAVING ve JOIN cümleleriyle birlikte kullanılır. Bu işlev, CONVERT() işlevine benzer. MySQL .

Bu işlevin mükemmel şekilde çalıştığı veri türleri şunlardır:

Veri tipi Açıklamalar
TARİH Değeri 'YYYY-AA-GG' formatında DATE veri türüne dönüştürür. '1000-01-01' ile '9999-12-31' arasındaki DATE aralığını destekler.
DATETIME Değeri 'YYYY-AA-GG SS:MM:SS' biçiminde DATETIME veri türüne dönüştürür. '1000-01-01 00:00:00' ila '9999-12-31 23:59:59' aralığını destekler.
ZAMAN Değeri 'SS:MM:SS' formatında TIME veri türüne dönüştürür. '-838:59:59' ile '838:59:59' arasındaki zaman aralığını destekler.
KAR Bir değeri, sabit uzunluklu dizeyi içeren CHAR veri türüne dönüştürür.
ONDALIK Bir değeri, ondalık dize içeren DECIMAL veri türüne dönüştürür.
İMZALANDI Bir değeri, imzalı 64 bit tamsayıyı içeren SIGNED veri türüne dönüştürür.
İMZASIZ Bir değeri, işaretsiz 64 bit tamsayıyı içeren UNSIGNED veri türüne dönüştürür.
İKİLİ Bir değeri, ikili dizeyi içeren BINARY veri türüne dönüştürür.

Sözdizimi

MySQL'deki CAST() fonksiyonunun sözdizimi aşağıdadır:

 CAST(expression AS datatype); 

Parametre Açıklaması

Bu sözdizimi aşağıda tartışılacak olan iki parametreyi kabul eder:

Parametre Gereklilik Açıklamalar
İfade Gerekli Başka bir spesifik veri tipine dönüştürülecek bir değerdir.
Veri tipi Gerekli İfade değerinin dönüştürülmesi gereken bir değer veya veri türüdür.

Geri dönüş değeri

Dönüştürme sonrasında hangi veri türünde dönüştürmek istediğimiz değeri döndürecektir.

MySQL sürüm desteği

CAST işlevi aşağıdaki MySQL sürümlerini destekleyebilir:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

Aşağıdaki örneklerle MySQL CAST() fonksiyonunu anlayalım. CAST fonksiyonunu doğrudan SELECT ifadesi ile kullanabiliriz.

örnek 1

Bu ifade, değeri DATE veri türüne dönüştürür.

 SELECT CAST('2018-11-30' AS DATE); 

Çıktı

MySQL CAST() İşlevi

Örnek 2

Bu ifade, değeri SIGNED veri türüne dönüştürür.

 SELECT CAST(3-6 AS SIGNED); 

Çıktı

MySQL CAST() İşlevi

Örnek 3

Bu ifade, değeri UNSIGNED veri türüne dönüştürür.

 SELECT CAST(3-6 AS UNSIGNED); 

Çıktı

MySQL CAST() İşlevi

Örnek 4

Bazen dizeyi açıkça bir tam sayıya dönüştürmeye ihtiyaç duyulur; değeri INTEGER veri türüne dönüştürmek için aşağıdaki ifadeyi kullanın.

 SELECT (3 + CAST('3' AS SIGNED))/2; 

Çıktı

MySQL CAST() İşlevi

Örnek 5

Aşağıdaki ifade önce bir tamsayı değerini dize veri türüne dönüştürür ve ardından belirtilen başka bir dizeyle birleştirme gerçekleştirir.

 SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR)); 

Çıktı

MySQL CAST() İşlevi

Örnek 6

Bu örnekte CAST fonksiyonunun tabloyla nasıl çalıştığını göreceğiz. Önce bir tablo oluşturalım' Emirler ' aşağıdaki verileri içerir:

MySQL CAST() İşlevi

Yukarıdaki tabloda Order_Date veri tipinin DATE veri tipinde olduğunu görüyoruz. Şimdi seçilen zaman aralıkları arasında bir ürün adı almak istiyorsak aşağıdaki ifadeyi yürütün. Burada, WHERE koşulu değerlendirilmeden önce değişmez dize zaman damgası değerine dönüştürülür.

 SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME); 

Bu ifade aşağıdaki çıktıyı üretecektir:

MySQL CAST() İşlevi