programing

필드에서 첫 번째 단어를 추출하는 MySQL 쿼리

bestprogram 2023. 8. 10. 18:59

필드에서 첫 번째 단어를 추출하는 MySQL 쿼리

특정 필드에서만 첫 번째 단어를 반환하는 쿼리를 실행하려고 합니다. 이 필드에는 공백으로 구분된 여러 단어가 있습니다. 이 작업을 수행하려면 정규식 작업을 수행해야 할 수도 있습니다.PHP에서 몇 가지 방법을 사용하여 이 작업을 수행하는 방법을 알고 있지만 데이터베이스 측면에서 수행하는 것이 가장 좋습니다.어떤 아이디어라도 감사합니다.감사해요.

SUBSTRING_INDEX: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

SELECT SUBSTRING_INDEX(`name`, ' ', 1);

여기 있습니다 :)

SELECT SUBSTRING_INDEX( `field` , ' ', 1 ) AS `field_first_word`
FROM `your_table`
select 
    substring(test_field, 1, instr(test_field, ' ')) 
from 
    test_table
SELECT
  SUBSTR(field_name, 1, LOCATE(' ', field_name)) AS first_word
FROM
  table

이 코드 조각이 효과가 있을 수 있습니다.

select regexp_substr("Héctor-99 Eduvijes Uribe Curiel", '[[:graph:]]*')`

출력: 엑토르-99

이는 다른 답변과 매우 유사하지만 다른 방식으로 작동합니다. 여기에서 자세한 내용을 확인할 수 있습니다. https://dev.mysql.com/doc/refman/8.0/en/regexp.html

다른 선택 사항은 다음과 같습니다.

select regexp_substr("Some name", '[a-z]+')

출력: 일부

괄호 안에 원하는 것은 무엇이든 넣을 수 있고, 훌륭한 일을 할 수 있는 Regex에 대해 배울 수 있습니다.

언급URL : https://stackoverflow.com/questions/689858/mysql-query-to-extract-first-word-from-a-field