2011-11-29 2 views
1

쿼리를 사용하여 MySQL에서 각 단어의 첫 글자를 어떻게 선택합니까? MySQL의 테이블 셀에서 각 단어의 첫 글자를 선택하는 방법은 무엇입니까?

그래서이 테이블

+----+----------------------------+ 
| id | str      | 
+----+----------------------------+ 
| 1 | Hello my name is MCEmperor | 
| 2 | How are you doing?   | 
+----+----------------------------+ 

내가 그것을 SUBSTRINGLOCATE 뭔가 추측하고 어쩌면 내가 ...

(모든 공백 또는 뭔가를 찾기 위해) 루프를 필요

+----+----------------------------+ 
| id | str      | 
+----+----------------------------+ 
| 1 | HmniM      | 
| 2 | Hayd      | 
+----+----------------------------+ 

을 반환

쿼리 내에서 가능합니까? 어떻게해야합니까?

+0

이것에 대한 특별한 기능을 쓰는 것은 어떨까요? – triclosan

+1

당신은이 클라이언트 쪽에서하는 것이 훨씬 낫습니다. 이 정렬의 문자열 조작은 SQL에 대해 스토어드 프로 시저/UDF를 작성하지 않는 한 sql이 설계된 것이 아닙니다. –

+0

그리고 함수를 사용하는 것은 어떻습니까? 함수 내에서 그것을 할 수 있습니까? –

답변

1

어쩌면 당신은 단순히 공간으로 나눌 수 있을까요? http://forums.mysql.com/read.php?60,78776,148332#msg-148332

그런 다음 GROUP BY ID에서 각 단어의 첫 번째 문자를 검색하고 GROUP_CONCAT을 사용하여 문자를 초기 텍스트 당 한 줄에 다시 넣을 수 있습니다.

1

찾고있는 것은 셀에있는 데이터의 일부와 일치하는 WHERE 절입니다. 당신은 이렇게 할 수 있습니다 :

SELECT str 
from (table name) 
WHERE str LIKE 'H%' 
관련 문제