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

  • FailArmy U

    FailArmy U

    29 AĞUSTOS 2009
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • New Challenger - Game Reviews

    New Challeng

    20 Temmuz 2006