2016-08-03 2 views
0

내 문제는 제의가 저장되어 있고 50 % (하위 문자열 '50 % '가있는 레코드) 만 표시하려고합니다.숫자 값 형식 SQL 쿼리를 얻는 방법

이 내 테이블 스키마입니다 : enter image description here 예제 기록은 다음과 같습니다 ESSEL 세계 항목 티켓 등에 대한

FLAT 50 % 할인.
RTS에 대한 FLAT 50 % Off
위. 미국 폴로 - 최대 50 % 할인

이러한 것을 선택하기 위해 SQL 쿼리를 작성하는 방법은 무엇입니까?

+0

는 와일드 카드 문자'% '를 사용합니다. – Saurabh

+0

모든 문자열의 형식이 동일합니까? %는 항상 두 자릿수입니까? –

+0

테이블과 열 구조 란 무엇입니까? 그리고 당신이 시도한 쿼리? – Riad

답변

0

처럼이 비율이 100보다 큰

을 할 수 없기 때문에 하나 (250)를 가진 아래이 유효 할 수있다처럼 ..

select * from table 
    where coupon_name like '%50[%]%' 

이 모든 기록을 줄 것이다 필드의 열 이름이 coupon_name라고 할 것입니다

sakfjfjk50%sfjbsadjkfbjksdf 
sakfjfjk250%sfjbsadjkfbjksdf 
+0

은 '% 50 \ %%'을 좋아하지 않아야합니까? – Riad

+0

잘 작동하지만 50 % 만있는 레코드 만 필요합니다. –

0

난 당신이 '50 %를 포함하는 기록이 필요합니다 '당신은 사용할 수 있습니다

SELECT * 
FROM YourTable 
WHERE coupon_name LIKE '%50[%]%' 

또는 사용 ESCAPE :

SELECT * 
FROM YourTable 
WHERE coupon_name LIKE '%50\%%' ESCAPE '\' 

또는 :

SELECT * 
FROM YourTable 
WHERE coupon_name LIKE '%50|%%' ESCAPE '|' 

는 세 번째는 MySQL과 SQL 서버에서 작동합니다.

+0

# 1064 - SQL 구문에 오류가 있습니다. 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. 'SELECT * FROM Vcom WHERE coupon_title LIKE'% 50 \ %% 'LIMIT 0, 30'1 번 라인 –

+0

SELECT * FROM YourTable where coupon_name LIKE '% 50 [%] %'는 0 행을 반환합니다. –

+0

@pawal 여전히 0 행입니다. SELECT * FROM Vcom WHERE coupon_title LIKE '% 50 | %%' –