2013-04-26 2 views
1

우편 번호 입력란이 있는데 숫자가 나타나기 전에 나타나는 첫 번째 문자 만 가져오고 싶습니다. 예 : E11은 E, HD4를 반환하고 HD는 반환합니다.MYSQL에 숫자가 나타날 때까지 문자열의 첫 번째 또는 두 번째 문자를 얻으려면 어떻게해야합니까?

+0

무엇 HDE5 약을? – Woot4Moo

+1

은 HDE 우편 번호입니까? – Nicola

+0

문제에 대한 지식을 묻는 대신 내 질문에 대답 할 수 있습니까? – Woot4Moo

답변

1

0에서 얻을 수 문자열를 사용하는 첫 번째 숫자의 위치를 ​​찾을 수 도움이됩니다. . .

SELECT IF (postcode REGEXP "^[A-Z][A-Z]",LEFT(postcode,2),LEFT(postcode,1)); 

이러한 예는 보여줍니다

SELECT IF ("H5 7PL" REGEXP "^[A-Z][A-Z]",LEFT("H5 7PL",2),LEFT("H5 7PL",1)); 
-> "H" 

SELECT IF ("HD5 7PL" REGEXP "^[A-Z][A-Z]",LEFT("HD5 7PL",2),LEFT("HD5 7PL",1)); 
-> "HD" 
+0

도움이된다. 고마워. 그러나 값에 테이블을 조인해야합니다. 그래서 나는 if를 사용하고 싶지 않습니다. 단지 우편 번호에 LEFT JOIN postcode라고 말하고 싶습니다. [우편 번호의 첫 번째 또는 두 글자] = address.postcode1' – Nicola

관련 문제