MySQL veritabanında veri tipi dönüştürme işlemleri oldukça yaygındır Bu işlemler veri entegrasyonu sırasında sık sık kullanılır VARCHAR, DATE, TIMESTAMP, DATETIME, UNIX_TIMESTAMP, FLOAT ve DECIMAL gibi veri tipleri için farklı dönüştürme yöntemleri vardır Örneğin, VARCHAR tipi verileri INTEGER, DATETIME ya da DECIMAL veri türüne dönüştürmek için CAST veya STR_TO_DATE fonksiyonları kullanılabilir DATE tipi verileri farklı veri türlerine dönüştürmek için ise CONVERT_TZ, DATE_ADD, DATE_SUB, TO_DAYS, FROM_DAYS ve UNIX_TIMESTAMP fonksiyonları kullanılabilir TIMESTAMP tipi veriler ise CAST ve UNIX_TIMESTAMP fonksiyonlarıyla çeşitli veri tiplerine dönüştürülebilir

Veri entegrasyonu sırasında veri tipi uyumsuzlukları ile karşılaşmak oldukça yaygındır. Bu uyumsuzluklar, farklı veri tipleri arasındaki dönüştürme işlemleriyle giderilebilir. MySQL veritabanında da veri tipi dönüştürme işlemleri yapmak mümkündür.
Birçok farklı veri tipine sahip olan MySQL veritabanında, verilerin farklı veri tiplerine dönüştürülmesi için bazı yöntemler bulunmaktadır. Bu yöntemler, VARCHAR, DATE, TIMESTAMP, DATETIME, UNIX_TIMESTAMP, FLOAT ve DECIMAL gibi veri tipleri için geçerlidir. Bu veri tiplerinin birbirlerine dönüştürülmesi işlemleri veri entegrasyonu sırasında sıkça kullanılır.
Veritabanında Varchar Tipi Dönüştürme İşlemleri
MySQL veritabanlarında, VARCHAR tipi verilerin başka bir veri türüne dönüştürülmesi için birkaç yöntem bulunmaktadır. Bu işlemler, veri entegrasyonu sürecinde sıklıkla gereklidir. İlk olarak, VARCHAR tipi verileri INTEGER'e dönüştürmek için CAST fonksiyonu kullanılabilir. Bu fonksiyon, VARCHAR tipi veriyi bir sayısal değere dönüştürür. Örneğin;
VARCHAR Veri | CAST İşlemi Sonucu |
---|---|
'123' | 123 |
'567' | 567 |
Bunun yanı sıra, VARCHAR tipi verilerin DATETIME tipine dönüştürülmesi için STR_TO_DATE() fonksiyonu kullanılabilir. Bu yöntem, VARCHAR tipindeki bir tarihi DATETIME formatına çevirir. Fonksiyon için gerekli olan parametre, geçerli bir tarih formatıdır. Örneğin;
VARCHAR Tarih Verisi | STR_TO_DATE() İşlemi Sonucu |
---|---|
'01.01.2022' | 2022-01-01 00:00:00 |
'23.05.2022' | 2022-05-23 00:00:00 |
Diğer bir yöntem ise, VARCHAR tipi verilerin DECIMAL türüne dönüştürülmesidir. Bunun için CAST() fonksiyonu yine kullanılabilir. Örneğin;
VARCHAR Veri | CAST İşlemi Sonucu |
---|---|
'123.45' | 123.45 |
'67.89' | 67.89 |
Bu yöntemlerin yanı sıra, VARCHAR tipi verilerin diğer veri tiplerine dönüştürülmesi için de benzer fonksiyonlar kullanılabilir. Bu yöntemlerle ilgili daha fazla bilgi için MySQL belgelerine başvurabilirsiniz.
Veritabanında Date Tipi Dönüştürme İşlemleri
MySQL'de DATE tipi verileri farklı veri türlerine dönüştürmek için birkaç yöntem mevcuttur. Bunlar, başka bir tarihe veya saat dilimine çevirme, tipte alt tip değiştirme, UNIX zaman damgasına dönüştürme vb. işlemleri içerir.
Date Fonksiyonu | İşlevi |
---|---|
CONVERT_TZ(date,from_tz,to_tz) | Belirtilen tarih ve saatleri farklı saat dilimlerine dönüştürür. |
DATE_ADD(date,INTERVAL expr type) | Belirtilen tarihe, belirtilen değere (yıl, ay, gün vb.) göre ekleme yapar. |
DATE_SUB(date,INTERVAL expr type) | Belirtilen tarihten, belirtilen değere (yıl, ay, gün vb.) göre çıkarma işlemi yapar. |
MySQL'in DATE fonksiyonlarından CONVERT_TZ, belirli bir tarihi, belirli bir kaynak saat diliminden hedef saat dilimine dönüştürür. DATE_ADD ve DATE_SUB fonksiyonları, belirli bir tarihe ekleme veya çıkarma yapmak için kullanılabilir.
Ayrıca, DATE tipi verileri başka veri tiplerine dönüştürmek için TO_DAYS, FROM_DAYS ve UNIX_TIMESTAMP fonksiyonları da mevcuttur.
Özetle, DATE tipi verilerin farklı veri türlerine dönüştürülmesi birçok farklı amaca hizmet edebilir ve MySQL'in sağladığı fonksiyonlar, taşıyıcı verinin gereksinimlerine ve kullanım durumuna göre seçilebilir.
Timestamp Tipi Dönüştürme İşlemleri
Timestamp veri tipi, tarih ve saat arasındaki farkı ölçmek için kullanılır ve genellikle zamana dayalı verilerde kullanılır. MySQL'de, bu veri tipini başka bir veri türüne dönüştürmek için "CAST" işlevi kullanılabilir. Bir TIMESTAMP sütununu INTEGER sütuna dönüştürmek istediğinizde, CAST()
işlevini kullanabilirsiniz. Örneğin:
SELECT CAST(timestamp_column AS INTEGER) FROM table_name; |
Bu işlev, TIMESTAMP veri tipini INTEGER veri tipine dönüştürür ve verileri görüntülemek için kullanılabilir. Ayrıca, UNIX_TIMESTAMP işlevi aracılığıyla TIMESTAMP verileri de dönüştürülebilir. UNIX_TIMESTAMP işlevi, bir TIMESTAMP sütununu Unix zaman damgasına dönüştürür ve Unix zaman damgasını içeren bir sütunu kullanarak başka bir işlem yapabilirsiniz. Örneğin, UNIX_TIMESTAMP işlevini kullanarak bir TIMESTAMP sütununu bir DATE sütununa dönüştürebilirsiniz. İşte bir örnek sorgu:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(timestamp_column)) AS date_column FROM table_name; |
Bu sorgu, UNIX_TIMESTAMP işlevi aracılığıyla TIMESTAMP verilerini Unix zaman damgasına dönüştürür ve kullanıcının okuyabileceği bir DATE sütununa yeniden biçimlendirir. Bu işlem, verileri kolayca yönetmenize ve işlemenize yardımcı olabilir.
Date Tipi Dönüştürme İşlemleri
MySQL'de DATE tipi verileri TIMESTAMP veri türüne dönüştürmek için CAST () ve UNIX_TIMESTAMP() fonksiyonları kullanılabilir. Bu yöntemler, veri entegrasyonu işlemleri sırasında sıklıkla kullanılır.
CAST() kullanarak DATE tipi verileri Timestamp'a dönüştürmek mümkündür. Örneğin, "2021-08-12" tarihli bir veriyi TIMESTAMP formatında göstermek istediğimizde aşağıdaki sorgu kullanılabilir:
SQL Kodu | Sonuç |
---|---|
SELECT CAST("2021-08-12" AS TIMESTAMP); | 2021-08-12 00:00:00 |
Bu sorgu, "2021-08-12" tarihini TIMESTAMP formatında gösterir.
Bir diğer yöntem ise UNIX_TIMESTAMP() fonksiyonunu kullanmaktır. Bu fonksiyon, belirtilen tarihi saniye cinsinden Timestamp formatına dönüştürür. Örneğin, "2021-08-12" tarihini UNIX_TIMESTAMP() fonksiyonu kullanarak Timestamp formatında göstermek istediğimizde aşağıdaki sorgu kullanılabilir:
SQL Kodu | Sonuç |
---|---|
SELECT UNIX_TIMESTAMP("2021-08-12"); | 1628716800 |
Bu sorgu, "2021-08-12" tarihini UNIX_TIMESTAMP() fonksiyonu kullanarak Timestamp formatında saniye cinsinden gösterir.
Bu işlemler, DATE tipi verileri TIMESTAMP formatına dönüştürmek için kullanılır ve veri entegrasyon işlemlerinde oldukça kullanışlıdır.
Datetime Tipi Dönüştürme İşlemleri
MySQL veritabanında DATETIME veri tipini diğer veri türlerine dönüştürmek için bazı yöntemler bulunmaktadır. Bu veri tipi zaman ve tarih değerlerini içerir ve sıklıkla kullanılır. Özellikle raporlama işlemlerinde birçok farklı tarih biçimleri gerektiği için DATETIME tipinin dönüştürülmesi önemli hale gelir.
DATETIME tipini diğer veri tiplerine dönüştürmek için, öncelikle DATEDIFF() fonksiyonu kullanılabilir. Bu fonksiyon ile birlikte iki farklı zaman ve tarih değeri arasındaki fark hesaplanabilir. Aynı zamanda DATE_ADD() veya DATE_SUB() fonksiyonları ile de DATETIME veri tipi, belirtilen süreler için artırılabilir veya azaltılabilir.
DATETIME veri tipinin TIMESTAMP veri tipine dönüştürülmesi de mümkündür. Bunun için UNIX_TIMESTAMP() fonksiyonu kullanılır. Bu sayede, UNIX zaman damgası elde edilir. UNIX zaman damgası, 1970 yılından itibaren geçen saniye sayısını ifade eder ve bazı programlar için uygun bir tarih biçimidir.
Ayrıca, DATETIME veri tipi TIME veya DATE veri tiplerine de dönüştürülebilir. Bunun için TIME() veya DATE() fonksiyonları kullanılır. TIME() fonksiyonu, saat ve dakika bilgilerini içeren bir veri elde etmek için kullanılırken, DATE() fonksiyonu sadece tarih bilgilerini içeren bir veri elde etmek için kullanılır.
Sonuç olarak, DATETIME veri tipinin diğer veri tiplerine dönüştürülmesi için birçok yöntem mevcuttur. Bu yöntemler arasında DATEDIFF(), DATE_ADD(), DATE_SUB(), UNIX_TIMESTAMP(), TIME() ve DATE() fonksiyonları bulunmaktadır. Bu işlemlerin doğru bir şekilde yapılması, verilerin doğru ve tutarlı bir şekilde işlenmesine yardımcı olur.
Unix Timestamp Tipi Dönüştürme İşlemleri
MySQL'de UNIX_TIMESTAMP veri tipi, Unix epokasından (1 Ocak 1970) itibaren geçen saniye sayısını temsil eder. Bu veri tipi, saniye hassasiyetinde zaman bilgilerini tutan bir veri tipidir. UNIX_TIMESTAMP veri tipini başka bir veri türüne dönüştürmek için bazı yöntemler vardır.
Bunun için FROM_UNIXTIME() fonksiyonu kullanılarak UNIX_TIMESTAMP veri tipi bir tarih formatına dönüştürülebilir. Örneğin, aşağıdaki kod bloğu, UNIX_TIMESTAMP veri tipini YYYY-MM-DD HH:MM:SS formatındaki bir tarihe dönüştürür:
UNIX_TIMESTAMP Değeri | Dönüştürülen Değer |
---|---|
1614386255 | 2021-02-27 12:57:35 |
1577840400 | 2020-01-01 00:00:00 |
Bunun yanı sıra, UNIX_TIMESTAMP veri tipi FLOAT veya INT gibi başka bir veri tipine dönüştürülebilir. Örneğin, aşağıdaki kod bloğu, UNIX_TIMESTAMP veri tipini INT veri tipine dönüştürür:
CAST(UNIX_TIMESTAMP AS INTEGER);
Bu yöntemler sayesinde, UNIX_TIMESTAMP veri tipi farklı veri tiplerine dönüştürülebilir ve veri entegrasyonu sırasında daha fazla esneklik sağlanabilir.
Veritabanında Float Tipi Dönüştürme İşlemleri
Float tipi veriler, ondalık sayıları saklamak için kullanılır. Ancak bazen farklı bir veri tipine dönüştürme ihtiyacı duyabilirsiniz. MySQL veritabanında FLOAT tipi verileri farklı tiplere dönüştürmek için aşağıdaki yöntemler kullanılır:
- CAST: Bu yöntem FLOAT verilerini DECIMAL veya INTEGER türüne dönüştürmek için kullanılır. Örneğin, CAST(12.345 AS SIGNED INTEGER) ifadesi 12.345 float değeri tamsayıya dönüştürür.
- CONVERT: Bu yöntem FLOAT verilerini DECIMAL veya INTEGER türüne dönüştürmek için kullanılır. Örneğin, CONVERT(12.345, SIGNED INTEGER) ifadesi 12.345 float değeri tamsayıya dönüştürür.
- ROUND: Bu yöntem FLOAT verileri yuvarlamak için kullanılır. Örneğin, ROUND(12.345, 2) ifadesi 12.35'e yuvarlar.
Yukarıdaki yöntemler ile FLOAT verileri diğer veri tiplerine dönüştürebilirsiniz. Buna ek olarak, MySQL'de diğer veri tiplerini FLOAT türüne dönüştürmek için de benzer yöntemler kullanabilirsiniz. Bu dönüştürme işlemleri, verileri uygun formatta saklamak, yönetmek ve işlemek için oldukça önemlidir.
Decimal Tipi Dönüştürme İşlemleri
MySQL veritabanında veri tipi dönüştürme işlemleri yapma ihtiyacı, veri entegrasyonu sırasında ortaya çıkabilir. DECIMAL veri tipini başka bir veri türüne dönüştürmek için de bazı yöntemler mevcuttur.
Birkaç örnek üzerinden ele alacak olursak; FLOAT veri tipinden DECIMAL veri tipine dönüştürme işlemi için CAST kullanılabilir. Örneğin, aşağıdaki şekilde gösterildiği gibi:
Örnek | Kodu |
---|---|
FLOAT to DECIMAL dönüştürme | SELECT CAST(float_column AS DECIMAL(10,2)) FROM table; |
DECIMAL veri tipini FLOAT veri tipine dönüştürmek için de CAST kullanılabilir. Örneğin, aşağıdaki şekilde gösterildiği gibi:
Örnek | Kodu |
---|---|
DECIMAL to FLOAT dönüştürme | SELECT CAST(decimal_column AS FLOAT) FROM table; |
Bunlar sadece birkaç örnek olup, MySQL'de DECIMAL veri tipini başka veri türlerine dönüştürmek için başka yöntemler de vardır. Ancak, buradaki yöntemler en sık kullanılanlardır ve kolaylıkla uygulanabilirler.