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

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • уσ ρℓz sυв ιℓℓ sυв вαcқ

    уσ ρℓz

    14 EKİM 2010
  • Top10Series

    Top10Series

    26 Kasım 2008