SORU
23 NİSAN 2010, Cuma


İkiye bir alan değeri Split

Bir tablo soyadını ve kullanıcı adını hem de içeren membername alan var. *, **3 4*2 alanları içine bu bölmek mümkün?

Tüm kayıtları bu biçimde "Adı Soyadı" (tırnak ve boşluk olmadan).

CEVAP
23 NİSAN 2010, Cuma


Ne yazık ki MySQL bölünmüş bir dize işlevi bulunmuyor. Ancak aşağıdaki makalede anlatıldığı gibi bu user defined function bir, oluşturabilirsiniz:

Bu fonksiyon, aşağıdaki gibi sorgunuzu oluşturmak mümkün olacaktır

SELECT SPLIT_STR(membername, ' ', 1) as memberfirst,
       SPLIT_STR(membername, ' ', 2) as memberlast
FROM   users;

Bir kullanıcı tanımlı işlevi kullanmamayı tercih ve biraz daha ayrıntılı olması için sorgu sakıncası yoksa, aşağıdakileri de yapabilirsiniz:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(membername, ' ', 1), ' ', -1) as memberfirst,
       SUBSTRING_INDEX(SUBSTRING_INDEX(membername, ' ', 2), ' ', -1) as memberlast
FROM   users;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • the one am radio

    the one am r

    6 Mayıs 2006
  • TheFlightsuit

    TheFlightsui

    22 HAZİRAN 2009