Giriş
MySQL String metodlarının listesi burada
Cast
Cast tam olarak bir string metodu sayılmaz ancak string'i sayıya çevirdiği için yazıya dahil ettim. Şöyle yaparız.
Açıklaması şöyle
Elimizde char tipi olan DOB sütunu olsun. String'den Integer'a çevirmek için şöyle yaparız.
Açıklaması şöyle
SQL dünyasında "%xx%" şeklinde kullanıma "un-anchored search pattern" deniliyor. Şöyle yaparız.
Eğer sütun verisi örüntümüz olacaksa şöyle yaparız.
Örüntüyü belirtip sütun içinde arama yapacaksak şöyle yaparız.
Substring metodu
İlk iki karakter ayırmak için şöyle yaparız
Boşluğun solundaki ilk token ve sağındaki ilk token'ı almak için şöyle yaparız
MySQL String metodlarının listesi burada
Cast
Cast tam olarak bir string metodu sayılmaz ancak string'i sayıya çevirdiği için yazıya dahil ettim. Şöyle yaparız.
update <table> set new_column = CAST(ColumnName AS UNSIGNED);
Field metoduAçıklaması şöyle
Şöyle yaparız.MySQL FIELD() returns the index position of the searching string from a list of strings. If search string is not found, it returns a 0(zero). If search string is NULL, the return value is 0 because NULL fails equality comparison with any value.
SELECT * FROM `students` WHERE `id` IN (83, 84)
ORDER BY FIELD(`id`, 83, 84);
Convert - Expression + TypeElimizde char tipi olan DOB sütunu olsun. String'den Integer'a çevirmek için şöyle yaparız.
SELECT *
FROM employees
WHERE CONVERT(DOB, INTEGER) >= 1960
AND CONVERT(DOB, INTEGER) <= 1969
Find_In_Set metoduAçıklaması şöyle
Söz dizimi şöyleMySQL FIND_IN_SET() returns the position of a string if it is present (as a substring) within a list of strings. The string list itself is a string contains substrings separated by ‘,’ (comma) character.
This function returns 0 when search string does not exist in the string list and returns NULL if either of the arguments is NULL.
FIND_IN_SET (search string, string list)
Parametreler şöylesearch string A string which is to be looked for in following list of arguments.
string list List of strings to be searched if they contain the search string.
Şöyle yaparız
SELECT * FROM `students` WHERE `id` IN (83,84)
ORDER BY FIND_IN_SET(id,'83,84')
LikeSQL dünyasında "%xx%" şeklinde kullanıma "un-anchored search pattern" deniliyor. Şöyle yaparız.
foo LIKE '%bar%'
Eğer "like%" şeklinde kullanırsak anchored search pattern deniliyor. Açıklaması şöyleIf you lack a % on either side, it is said that the search pattern anchors to the start or end of the string respectively. This lingo comes from the regex world.Şöyle yaparız.
foo like 'bar%'
Bazen de like ta belirtilen örüntü "needle" olarak adlandırılıyor. "Haystack" ise needle'dan daha uzun veri. Yani "samanlıkta iğne aramak" :) Şöyle yaparız.SET @hayStack := 'www.example.com';
SET @needle := 'www.example.com/test';
SELECT
IF(LENGTH(@hayStack) > LENGTH(@needle),
@hayStack LIKE CONCAT('%',@needle,'%'),
@needle LIKE CONCAT('%',@hayStack,'%')
)
Like ve ConcatEğer sütun verisi örüntümüz olacaksa şöyle yaparız.
SELECT * FROM db WHERE 'www.example.com/test' LIKE CONCAT('%',urlColumn,'%');
Like ve Group ByÖrüntüyü belirtip sütun içinde arama yapacaksak şöyle yaparız.
SELECT country,COUNT(*)
FROM Table1
WHERE aut_name LIKE "%a%"
GROUP BY country;
İlk iki karakter ayırmak için şöyle yaparız
select * from yourtable order by
CONVERT(INT, SUBSTRING(title, 1 , 2)) ASC
Substring_Index metoduBoşluğun solundaki ilk token ve sağındaki ilk token'ı almak için şöyle yaparız
select * from yourtable order by CONVERT(INT, SUBSTRING_INDEX(title, ' ', 1)) ASC,
SUBSTRING_INDEX(title, ' ', -1) ASC
Hiç yorum yok:
Yorum Gönder