2013-08-06 3 views
0

현재 (50 개 미만의 항목) 작은 데이터베이스를 만들고 있는데 쿼리에 문제가 있습니다. 현재 내 쿼리는특정 문자열에 대한 SQL - 검색 쿼리

SELECT Name 
FROM Customers 
WHERE Name LIKE '%Adam%' 

입니다. 이름은 "Adam West"형식입니다.

검색어는 이름에 'Adam'이 포함 된 모든 사용자를 검색하는 데 적합하지만 성만 검색하는 대신 성을 검색하고 싶습니다. 열을 분할하고 싶지는 않지만이 문제를 설명하기 위해 쿼리를 다시 작성하는 방법을 알고 싶습니다. SELECT 이름 이름 LIKE '아담 %'

+1

시도 'LIKE'ADAM의 %를 '읽기' – thunderbird

+0

성과 공간에 의해 saparated 성? –

+1

열을 분할하거나 심지어 복제해야합니다. 그러나 열 이름의 데이터가 쿼리에서 '%'를 제거하고 튜토리얼로 이동하면 그 이유를 설명 할 것입니다. –

답변

4

, 이름의 형식이 <last name> <first name> 인 경우 사용할 수 있습니다

select Name 
from Customers 
where Name like '% Adam' 
+0

그럴 겁니다. 고마워요. 나는 어리 석다. – Hayden

0

는 고객의 이름 (같은 아담 웨스트) 이름으로 시작하는 경우 고객 에서 당신이 그렇지 않으면

select Name 
from Customers 
where Name like 'Adam %' 

을 사용할 수 있습니다

0

Tr Y이

{SELECT 이름 고객 FROM WHERE SUBSTRING (이름, 1 CHARINDEX ('이름) -1) LIKE'%의 아담 % ' }

내가 성함 가정 공간에 의해 saparated이고 나는 firstname을 꺼냈다.

SUBSTRING (이름, 1, CHARINDEX ('', 이름) -1) 을 사용하고 원하는 방식을 비교했다. 네가 무언가 다른 이름을 가진다면 성을 가진 charindex의 공간을 바꾼다.

다른 도움이 필요하면 알려주십시오.

감사

아슈

0

당신이해야 참으로 "분할"당신의 열 및 한글 이름 또는 FIRSTNAME 또는 이제까지 당신을 위해 무엇을 볼 필요가 검색 할 복잡한 문자열 함수를 사용하는 것을 방지하기 위해 테이블을 정상화. 누군가 성을 먼저 입력 한 다음 성을 입력하면 어떨까요? 아니면 그냥 별명?

그렇다면 LIKE의 사용이 Microsoft technet site인지 확인합니다. 다음 쿼리는 경우에 도움이 될해야합니다

SELECT Name 
    FROM Customers 
WHERE Name LIKE 'Adam%' 
1

당신이 LASTNAME 다음

작동합니다 다음과 같은 '아담'firstName과 'ABCD'이다 "아담의 ABCD"분리 예와 같은 공간 이름을 저장하는 경우 자세한 내용은
SELECT  Expr1 
FROM   (SELECT  LEFT(Name, CHARINDEX(' ', Name, 1)) AS Expr1 
         FROM   Customers) AS derivedtbl_1 
WHERE  (Expr1 LIKE 'Adm%') 

이 문서를 http://suite101.com/article/sql-functions-leftrightsubstrlengthcharindex-a209089

+0

미안 한 오타 WHERE (Expr1 LIKE 'Adam %') –

관련 문제