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

  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008
  • paikimchung

    paikimchung

    12 Mayıs 2006
  • RyanXLT

    RyanXLT

    22 Ocak 2011