Program Tip

MySQL에서 공백 앞에있는 모든 문자 가져 오기

programtip 2020. 10. 28. 20:34
반응형

MySQL에서 공백 앞에있는 모든 문자 가져 오기


공백 앞에있는 필드의 모든 문자를 얻고 싶습니다.

예를 들어, 경우가 field1있다"chara ters"

나는 그것을 돌려주고 싶다 "chara"

이 select 문은 어떻게 생겼습니까?


SELECT LEFT(field1,LOCATE(' ',field1) - 1)

문제의 문자열에 공백이 없으면 빈 문자열이 반환됩니다.


다음은 작동하는 또 다른 방법이며 일부에게는 조금 더 간단 해 보일 수 있습니다. SUBSTRING_INDEX MySQL 함수를 사용합니다 . 1은 첫 번째 공백 이전의 모든 것을 반환하고 -1은 마지막 공백 이후의 모든 것을 반환합니다.

이것은 'chara'를 반환합니다.

SELECT SUBSTRING_INDEX( field1, ' ', 1 )

이것은 'ters'를 반환합니다.

SELECT SUBSTRING_INDEX( field1, ' ', -1 )

세부

양수 값은 문자열 시작 부분에서 지정한 문자를 찾고 음수 값은 문자열 끝 부분에서 시작합니다. 숫자 값은 문자열의 나머지 부분을 반환하기 전에 찾을 지정된 문자의 수량을 나타냅니다. 검색중인 문자가 없으면 전체 필드 값이 반환됩니다.

이 경우 -2는이 예제에 존재하지 않는 두 번째에서 마지막 공간의 오른쪽에있는 모든 항목을 반환하므로 전체 필드 값이 반환됩니다.


이를 위해서는 문자열 연산 이 필요 합니다. 모든 필드에 하나 이상의 공백 문자가 있다고 가정합니다.

SELECT SUBSTR(field1, 0, LOCATE(' ', field1)) FROM your_table;

안전한 접근 :

SELECT IF(
    LOCATE(' ', field1),
    SUBSTR(field1, 0, LOCATE(' ', field1)),
    field1
) FROM your_table;

참고 URL : https://stackoverflow.com/questions/3471199/get-all-characters-before-space-in-mysql

반응형