Bir dizeyi küçük harfe dönüştürmek için bir MySQL komutu var mı?


123

Şu anda büyük / küçük harflerin karışık olduğu bir MySQL veri tabanım var. Ancak, hepsini küçük harfe dönüştürmek istiyorum. MySQL veya MySQL ve PHP kullanarak bunu yapmak için kolay bir komut var mı?


Sanırım kullanıcı adlarını büyük harflerle saklamanın iyi bir fikir olduğunu düşünen bir arkadaşınızın dökümünü de kullanıyorsunuz.
Buffalo

Yanıtlar:


248
UPDATE table SET colname=LOWER(colname);

bir sütunun harmanlaması olarak ayarlanmışsa ascii_bin, bu otomatik olarak her şeyi küçük harfe dönüştürmeyecek mi yoksa yanılıyor muyum?
oldboy

28

Evet, işlev LOWER () veya LCASE () 'dir (ikisi de aynı şeyi yapar).

Örneğin:

select LOWER(keyword) from my_table


9

LOWER () veya LCASE () işlevlerini kullanabilirsiniz.

Bunlar hem sütunlarda hem de dize değişmezlerinde kullanılabilir. Örneğin

SELECT LOWER(column_name) FROM table a;

veya

SELECT column_name FROM table a where column = LOWER('STRING')

LCASE (), her iki örnekte de LOWER () yerine kullanılabilir.



1

Basitçe şunu kullanın:

UPDATE `tablename` SET `colnameone`=LOWER(`colnameone`);  

veya

UPDATE `tablename` SET `colnameone`=LCASE(`colnameone`);

Her iki işlev de aynı şekilde çalışacaktır.


0

Alan adının yeniden adlandırıldığını ve ona bir işlevde başvurursanız, ona bir takma ad (kendi adı olabilir) vermedikçe değerini alamayacağınız ilginçtir.

Örnek: Dinamik olarak bir alan adı değeri almak için bir işlev kullanıyorum:

function ColBuilder ($field_name) {

While ($result = DB_fetch_array($PricesResult)) {
$result[$field_name]
}

}

Sorgum şudur: DÜŞÜK SEÇ (öğe kimliği),… vb ..

şu şekilde değiştirilmesi gerekiyor: öğe kimliği olarak DÜŞÜK (öğe kimliği) seçin ,… vb.


Bu bir cevap gibi gelmiyor mu?
Dieter Meemken

yanıtı tamamlar ve belirli durumlarda LOWER () kullanmanın ek bir örtüşme olmadan beklenen sonucu sağlamayabileceği konusunda uyarır.
HD FrenchFeast

-3

LOWERveri veya dizeyi küçük harfle dönüştürmek için işlevi kullanın.

select LOWER(username) from users;

veya

select * from users where LOWER(username) = 'vrishbh';

6
Bu, beş yıllık cevaplarda olmayan ne ekler ?
Andrew

-6

Php kullanabileceğine inanıyorum

strtolower() 

böylece tablodaki tüm girişleri okumak için bir php yapabilir ve ardından bunları küçük harf olarak geri yazdırmak için bu komutu kullanabilirsiniz.


OP, MySQL veya MySQL / PHP talep etti.
starryknight64
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.