오라클 Like | 오라클 데이터베이스 Sql 강의 17강 – 패턴 비교 연산자(Like, %, _ ) 177 개의 가장 정확한 답변

당신은 주제를 찾고 있습니까 “오라클 like – 오라클 데이터베이스 SQL 강의 17강 – 패턴 비교 연산자(LIKE, %, _ )“? 다음 카테고리의 웹사이트 you.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: you.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 뉴렉처 이(가) 작성한 기사에는 조회수 5,860회 및 좋아요 148개 개의 좋아요가 있습니다.

오라클 like 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 오라클 데이터베이스 SQL 강의 17강 – 패턴 비교 연산자(LIKE, %, _ ) – 오라클 like 주제에 대한 세부정보를 참조하세요

좋아요~~꾹~~~!!!
이 영상의 교재는 https://javaweb.tistory.com 이 곳에 있습니다.
이 강의는 데이터 베이스를 이용하기 위한 SQL 입문과정입니다.
Servlet/JSP 와 Spring 등을 학습하기 위한 사전 수업이라서 병행해서 올리고 있습니다.
조회수나 좋아요를 통해서 이 강의가 필요한지를 알려주세요..
감사합니다.

이 강의를 제공하는 \”뉴렉(newlec)\”쌤은 통신모듈, COM 콤포넌트 개발, 게임, 보안 모듈 개발을 시작으로 지금은 웹 개발을 주로 하고 있으며 (주)철도청, (주)하나은행, (주)삼표 등의 기업 강의를 거쳐서 지금은 http://www.newlecture.com 에서 온라인 강의를 진행하고 있습니다.

오라클 like 주제에 대한 자세한 내용은 여기를 참조하세요.

[Oracle] 오라클 LIKE 사용법 완벽 정리 (여러개, 패턴, 대소문자)

오라클 SQL에서 LIKE 연산자는 자주 사용하는 구문 중 하나이다. 문자열에서 와일드카드(%)를 사용하여 원하는 문자가 포함된 자료를 쉽게 검색할 수 …

+ 여기에 보기

Source: gent.tistory.com

Date Published: 6/17/2022

View: 4264

[oracle] LIKE – 특정 문자를 포함한 검색 – 키보드와 하루

1. LIKE – 역할 컬럼에 들어가 있는 값들 중 특정 문자가 포함되어 있는 값을 조회하고자 할 경우 사용 ◈ 구문형식 WHERE 컬럼 [NOT] LIKE (%) 검색 …

+ 더 읽기

Source: devjhs.tistory.com

Date Published: 9/8/2021

View: 7720

158. (Oracle/오라클) like 사용해 전체 검색 및 특정 조건 검색 …

(Oracle/오라클) like 사용해 전체 검색 및 특정 조건 검색 수행 실시 … 컬럼 LIKE ‘문자%’ : 특정 문자로 시작하는 데이터 확인 3.

+ 더 읽기

Source: kkh0977.tistory.com

Date Published: 12/18/2021

View: 8278

[ORACLE] SELECT문 LIKE 연산자 (ft. REGEXP_LIKE)

오라클 LIKE 연산자에 대해 알아보자. LIKE라는 영어는 같은, ~와 비슷한 등의 의미를 가지고 있는데,. 그 의미 그대로 비슷한 내용을 검색하는데 …

+ 여기에 자세히 보기

Source: mine-it-record.tistory.com

Date Published: 9/12/2021

View: 8203

LIKE

The ESCAPE clause entifies the backslash (\) as the escape character. In the pattern, the escape character precedes the underscore (_). This causes Oracle to …

+ 더 읽기

Source: docs.oracle.com

Date Published: 6/26/2022

View: 983

Oracle 비교 연산자 LIKE – 분기탱천

Oracle 비교 연산자 LIKE … emp테이블에서 ename 컬럼의 데이터를 LIKE문을 사용해 첫번째 문자가 S로 시작하는 데이터를 취득하는 SQL문입니다.

+ 여기를 클릭

Source: www.zinnunkebi.com

Date Published: 8/10/2022

View: 4519

Oracle / PLSQL: LIKE Condition – TechOnTheNet

The Oracle LIKE condition allows wildcards to be used in the WHERE clause of a SELECT, INSERT, UPDATE, or DELETE statement. This allows you to perform pattern …

+ 여기에 자세히 보기

Source: www.techonthenet.com

Date Published: 7/29/2021

View: 1303

오라클 LIKE를 이용한 특정 문자 포함 검색방법

오라클 TB1 테이블에서 사람들의 이름(NAME)과 나이(AGE) 컬럼이 있는 것을 볼 수 있는데 LIKE를 사용해서 특정 문자를 포함하고 있을 경우에만 조회 …

+ 여기에 표시

Source: wakestand.tistory.com

Date Published: 11/13/2022

View: 5117

주제와 관련된 이미지 오라클 like

주제와 관련된 더 많은 사진을 참조하십시오 오라클 데이터베이스 SQL 강의 17강 – 패턴 비교 연산자(LIKE, %, _ ). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

오라클 데이터베이스 SQL 강의 17강 - 패턴 비교 연산자(LIKE, %, _ )
오라클 데이터베이스 SQL 강의 17강 – 패턴 비교 연산자(LIKE, %, _ )

주제에 대한 기사 평가 오라클 like

  • Author: 뉴렉처
  • Views: 조회수 5,860회
  • Likes: 좋아요 148개
  • Date Published: 최초 공개: 2019. 10. 10.
  • Video Url link: https://www.youtube.com/watch?v=Fnw8AFKJypU

[Oracle] 오라클 LIKE 사용법 완벽 정리 (여러개, 패턴, 대소문자)

오라클 SQL에서 LIKE 연산자는 자주 사용하는 구문 중 하나이다. 문자열에서 와일드카드(%)를 사용하여 원하는 문자가 포함된 자료를 쉽게 검색할 수 있다. 단순 검색 외에도 대문자 소문자 구분 없이 검색, NOT 연산자 사용, 여러 개의 문자를 검색, 언더바(_)를 사용하여 자릿수 검색 등 다양한 사용법이 있으니 아래를 참고하기 바란다.

기본 사용법

“SC”로 시작하는 이름 검색

SELECT * FROM emp WHERE ename LIKE ‘SC%’

“SC”로 시작하는 이름을 검색한다. 와일드카드(%) 자리에는 어떠한 문자가 존재해도 상관없다.

“ER”로 끝나는 이름 검색

SELECT * FROM emp WHERE ename LIKE ‘%ER’

“ER”로 끝나는 이름을 검색한다.

“AM”을 포함하고 있는 이름 검색

SELECT * FROM emp WHERE ename LIKE ‘%AM%’

“AM”이 이름은 앞, 뒤, 중간 어딘가에 존재하면 검색한다.

“M”과 “I”를 포함하고 있는 이름 검색

SELECT * FROM emp WHERE ename LIKE ‘%M%I%’

“M”과 “I”가 동시에 존재하는 이름을 검색한다. 단, “M” 다음에 “I”가 존재해야 한다.

고급 사용법

대소문자 구분 없이 검색

SELECT * FROM emp WHERE LOWER(job) LIKE ‘sales%’

LIKE는 대소문자를 구분하여 검색하기 때문에, 대소문자 구분 없이 검색하기 위해서는 UPPER, LOWER 함수를 사용하여 컬럼의 값을 치환 후 검색해야 한다.

WHERE LOWER(job) LIKE ‘sales%’

WHERE LOWER(job) LIKE LOWER(‘Sales%’)

WHERE UPPER(job) LIKE ‘SALES%’

WHERE UPPER(job) LIKE UPPER(‘Sales%’)

“SALES”로 시작하는 직군 제외하고 검색 (반대로 검색)

SELECT * FROM emp WHERE deptno = 30 AND job NOT LIKE ‘SALES%’

LIKE는 해당 문자를 포함한 자료를 검색하지만, NOT LIKE를 사용하면 해당 문자를 포함하지 않는 데이터를 조회할 수 있다.

LIKE를 여러 개 사용하여 검색

SELECT * FROM emp WHERE deptno IN (20, 30) AND (job LIKE ‘SALES%’ OR job LIKE ‘MAN%’ OR job LIKE ‘ANAL%’)

LIKE를 사용하여 여러 개의 문자를 검색하기 위해서는 OR 연산자를 사용하여 여러 개의 LIKE 조건을 부여해야 한다. 조금 더 간편하게 사용하기 위해서는 오라클 10g부터 사용 가능한 REGEXP_LIKE 정규식 함수를 사용하면 된다.

<알아두면 유용한 팁>

특정 조건을 전체 조회 또는 특정 코드만 조회 시 LIKE 연산자를 사용하면 편리함

(단 컬럼 값의 길이(자리수)가 일정해야함)

in_deptno 변수에 NULL을 전달하면 전체조회, 코드(10, 20, 30)를 전달하면 해당 코드만 조회

WHERE deptno LIKE :in_deptno || ‘%’

언더바( _ ) 사용법

다섯 자리 이름만 검색

SELECT * FROM emp WHERE ename LIKE ‘_____’

언더바(_)를 사용하여 검색할 문자열의 자릿수를 결정하여 검색이 가능하다. 위의 예제는 다섯 자리의 이름만 검색한다.

다섯 자리 이름 중 마자막 문자가 “S”인 이름 검색

SELECT * FROM emp WHERE ename LIKE ‘____S’

이름의 앞 네 자리는 임의 문자가 존재(자릿수 중요)하고, 마지막 다섯 번째는 “S”가 존재하는 이름만 검색한다.

세째자리가 “A”인 이름 검색 사용법

SELECT * FROM emp WHERE ename LIKE ‘__A%’

이름 앞의 두 자리는 임의 문자가 존재하고, 세 번째 자리는 “A”이며 이후는 어떠한 문자가 존재해도 상관없이 검색된다.

언더바( _ )가 포함된 이름을 조회 시 엉뚱한 결과가 조회 (주의!!)

WITH temp AS ( SELECT ‘STEVEN_KING’ AS ename FROM dual UNION ALL SELECT ‘StevenMarkle’ AS ename FROM dual ) SELECT * FROM temp WHERE ename LIKE ‘%_%’

언더바(_)는 LIKE에서 사용하는 패턴 문자이기 때문에 해당 문자를 직접 조회할 수가 없다. 언더바(_)가 존재하는 이름만 검색하였지만 결과는 언더 바가 존재하지 않는 이름까지 검색된다.

언더바 ( _ ) 문자를 조회 시 ESCAPE 문자를 사용

WITH temp AS ( SELECT ‘STEVEN_KING’ AS ename FROM dual UNION ALL SELECT ‘StevenMarkle’ AS ename FROM dual ) SELECT * FROM temp WHERE ename LIKE ‘%\_%’ ESCAPE ‘\’

언더바(_)가 존재하는 데이터를 검색하기 위해서는 ESCAPE 문자를 언더바(_)에 붙여서 사용해야 한다. LIKE 문에 ESCAPE 문자를 넣고 뒤에 ESCAPE 문자를 선언하면 된다.

ESCAPE 문자는 검색할 문자에 존재하지 않는 임의 문자를 지정하면 된다.

예) LIKE ‘%\_%’ ESCAPE ‘\’

LIKE ‘%#_%’ ESCAPE ‘#’

LIKE ‘%$_%’ ESCAPE ‘$’

LIKE 사용 시 인덱스 스캔

ename 컬럼에 인덱스 존재 시 LIKE를 사용할 때 오른쪽에 와일드카드(%)가 있으면 인덱스를 태울 수 있음

ename LIKE ‘SC%’ (인덱스를 태울 수 있음)

ename LIKE ‘%SC’ (인덱스를 태울 수 없음)

예제쿼리(테이블뷰포함).txt 0.00MB

[oracle] LIKE

◈ SQL

◈ 결과 테이블

◈ 설명

TEL 컬럼이 011,021로 시작되는 내용을 조회합니다.

위 조건은 첫번째 자리는 무조건 0, 세번째 자리는 1 , 가운데 _ 자리는 아무것이 나와도 상관 없는 조건을 준 것입니다.

오라클) like 사용해 전체 검색 및 특정 조건 검색 수행 실시

728×90

반응형

[개발 환경 설정]

개발 툴 : Toad

개발 언어 : Oracle

[소스 코드]

/* [like 사용해 전체 검색 및 특정 조건 검색 수행 실시] 1. like : 특정 문자를 포함하는 데이터를 출력합니다 2. 컬럼 LIKE ‘문자%’ : 특정 문자로 시작하는 데이터 확인 3. 컬럼 LIKE ‘%문자’ : 특정 문자로 종료하는 데이터 확인 4. 컬럼 LIKE ‘%문자%’ : 문자 시작 ~ 종료까지 특정 문자 포함 여부 확인 5. 컬럼 LIKE ‘%%’ : 전체 컬럼 데이터를 출력합니다 6. 로직 : 인풋값으로 값을 받은 후 >> 값이 NULL 이면 전체 데이터 출력 >> NULL 이 아니면 특정 조건 데이터 출력 */ — [전체 컬럼 조회 실시] SELECT * — FROM TEST_USER WHERE T_DEPT LIKE ‘%’ || ” ||’%’; — [특정 데이터 조회 실시] SELECT * — FROM TEST_USER WHERE T_DEPT LIKE ‘%’ || ‘후백제’ ||’%’;

[결과 출력]

[전체 검색]

[특정 검색] [요약 설명]

/*

[like 사용해 전체 검색 및 특정 조건 검색 수행 실시]

1. like : 특정 문자를 포함하는 데이터를 출력합니다

2. 컬럼 LIKE ‘문자%’ : 특정 문자로 시작하는 데이터 확인

3. 컬럼 LIKE ‘%문자’ : 특정 문자로 종료하는 데이터 확인

4. 컬럼 LIKE ‘%문자%’ : 문자 시작 ~ 종료까지 특정 문자 포함 여부 확인

5. 컬럼 LIKE ‘%%’ : 전체 컬럼 데이터를 출력합니다

6. 로직 : 인풋값으로 값을 받은 후 >> 값이 NULL 이면 전체 데이터 출력 >> NULL 이 아니면 특정 조건 데이터 출력

*/

728×90

반응형

[ORACLE] SELECT문 LIKE 연산자 (ft. REGEXP_LIKE)

반응형

오라클 LIKE 연산자에 대해 알아보자.

LIKE 라는 영어는 같은, ~와 비슷한 등의 의미를 가지고 있는데,

그 의미 그대로 비슷한 내용을 검색하는데 사용되는 연산자이다.

구문은 아래와 같다.

▷ [구문 – 1 ] ‘%’

WHERE [컬럼명] LIKE ‘ % 검 % 색 % 어 % ‘

위 구문에서 사용된 ‘%’는 “0개 이상의 문자로 길이와 상관이 없다.” 라는 의미를 가진다.

1) 앞자리가 ze로 시작하는 문자열 : ‘ze%’ (앞에가 ze로 시작하는 모든 값들을 가져와라.)

2) 뒷자리가 com으로 끝나는 문자열 : ‘%com’ (com으로 끝나는 모든 값들을 가져와라.)

3) 문장중에 a와 n을 포함하는 문자열 : ‘%a%n%’ (어느 위치에 있는지 모르겠지만, 문장중에 a와 n을 포함하는 모든 값들을 가져와라.)

예제 1) ‘%’ 사용한 LIKE 연산자

SELECT * FROM employees WHERE email LIKE ‘ze%’; SELECT * FROM employees WHERE email LIKE ‘%com’; –앞뒤로 뭐가 오든 상관없는데 ‘재’ 를 포함하는 모든 값을 가져와라. SELECT * FROM employees WHERE first_name LIKE ‘%재%’;

추가적으로 ‘%’ 이 표시 말고도 하나 더 사용하는 표시가 있는데, 언더바(‘_’) 이다.

▷ [구문 – 2 ] ‘_’

WHERE [컬럼명] LIKE ‘_검_색_어_’

위 구문에서 사용된 ‘_’는 “한자리만 임의의 문자를 허용한다.” 라는 의미를 가진다.

1) 앞자리가 H로 시작하는 두자리 문자열 : ‘H_’ (앞에가 H로 시작하는 길이가 2인 모든 값들을 가져와라.)

2) 뒷자리가 com으로 끝나는 문자열 : ‘__com’ (com으로 끝나고 com앞에 두자리가 붙어있는 모든 값들을 가져와라.)

예제 2) ‘-‘ 사용한 LIKE 연산자

SELECT * FROM employees WHERE email LIKE ‘ze_’; SELECT * FROM employees WHERE email LIKE ‘__com’;

LIKE 연산자의 기본 구문들에 대해 배워봤는데,

‘%’ 와 ‘_’ 표현식은 각각 길이의 제한이 없는 조건, 한자리만을 무시해주는 조건을 의미한다.

그리고 추가적으로 ‘%’ 와 ‘_’ 표현식은 여러개로 조합하여 사용이 가능하다.

예제 3) ‘%’ 와 ‘-‘ 를 동시 사용한 LIKE 연산자

SELECT * FROM employees WHERE email LIKE ‘_com%’;

몇가지 LIKE 를 사용한 예제를 좀 더 알아보자.

예제 4) LIKE의 반대 NOT LIKE 연산자

SELECT * FROM employees WHERE email NOT LIKE ‘%com’;

그냥 단순하게 LIKE의 반대라고 생각하면 된다.

예제 5) 다중 LIKE 연산자

— OR을 사용한 다중 LIKE 연산자 SELECT * FROM employees WHERE (name LIKE ‘%한%’ OR name LIKE ‘%은%’) — 정규식을 사용한 다중 LIKE 연산자 (REGEXP_LIKE) SELECT * FROM employees WHERE REGEXP_LIKE( name , ‘한|김|피’);

정규식 표현법에 대해서는 따로 찾기를 권장한다.

‘%’ 와 ‘_’에 대해 ESCAPE를 알아두면 좋으니 아래 글도 한번 봐주도록 하자.

https://mine-it-record.tistory.com/101

반응형

LIKE

LIKE

The LIKE conditions specify a test involving pattern matching. Whereas the equality operator (=) exactly matches one character value to another, the LIKE conditions match a portion of one character value to another by searching the first value for the pattern specified by the second. LIKE calculates strings using characters as defined by the input character set. LIKEC uses Unicode complete characters. LIKE2 uses UCS2 code points. LIKE4 uses UCS4 code points.

like_condition::=

In this syntax:

char1 is a character expression, such as a character column, called the search value .

char2 is a character expression, usually a literal, called the pattern .

esc_char is a character expression, usually a literal, called the escape character.

If esc_char is not specified, then there is no default escape character. If any of char1 , char2 , or esc_char is null, then the result is unknown. Otherwise, the escape character, if specified, must be a character string of length 1.

All of the character expressions ( char1 , char2 , and esc_char ) can be of any of the datatypes CHAR , VARCHAR2 , NCHAR , or NVARCHAR2 . If they differ, then Oracle converts all of them to the datatype of char1 .

The pattern can contain special pattern-matching characters:

An underscore (_) in the pattern matches exactly one character (as opposed to one byte in a multibyte character set) in the value.

A percent sign (%) in the pattern can match zero or more characters (as opposed to bytes in a multibyte character set) in the value. The pattern ‘%’ cannot match a null.

You can include the actual characters % or _ in the pattern by using the ESCAPE clause, which identifies the escape character. If the escape character precedes the character % or _ in the pattern, then Oracle interprets this character literally in the pattern rather than as a special pattern-matching character. You can also search for the escape character itself by repeating it. For example, if @ is the escape character, then you can use @@ to search for @.

Table 6-12 describes the LIKE conditions.

Table 6-12 LIKE Conditions Type of Condition Operation Example x [NOT] LIKE y [ESCAPE ‘z’] TRUE if x does [not] match the pattern y . Within y , the character % matches any string of zero or more characters except null. The character _ matches any single character. Any character can follow ESCAPE except percent (%) and underbar (_). A wildcard character is treated as a literal if preceded by the escape character. SELECT last_name FROM employees WHERE last_name LIKE ‘%A\_B%’ ESCAPE ‘\’;

To process the LIKE conditions, Oracle divides the pattern into subpatterns consisting of one or two characters each. The two-character subpatterns begin with the escape character and the other character is %, or _, or the escape character.

Let P 1 , P 2 , …, P n be these subpatterns. The like condition is true if there is a way to partition the search value into substrings S 1 , S 2 , …, S n so that for all i between 1 and n:

If P i is _, then S i is a single character.

If P i is %, then S i is any string.

If P i is two characters beginning with an escape character, then S i is the second character of P i .

Otherwise, P i = S i .

With the LIKE conditions, you can compare a value to a pattern rather than to a constant. The pattern must appear after the LIKE keyword. For example, you can issue the following query to find the salaries of all employees with names beginning with R :

SELECT salary FROM employees WHERE last_name LIKE ‘R%’;

The following query uses the = operator, rather than the LIKE condition, to find the salaries of all employees with the name ‘R%’:

SELECT salary FROM employees WHERE last_name = ‘R%’;

The following query finds the salaries of all employees with the name ‘SM%’. Oracle interprets ‘SM%’ as a text literal, rather than as a pattern, because it precedes the LIKE keyword:

SELECT salary FROM employees WHERE ‘SM%’ LIKE last_name;

Case Sensitivity

Case is significant in all conditions comparing character expressions that the LIKE condition and the equality (=) operators. You can use the UPPER function to perform a case-insensitive match, as in this condition:

UPPER(last_name) LIKE ‘SM%’

Pattern Matching on Indexed Columns

When you use LIKE to search an indexed column for a pattern, Oracle can use the index to improve performance of a query if the leading character in the pattern is not % or _ . In this case, Oracle can scan the index by this leading character. If the first character in the pattern is % or _ , then the index cannot improve performance because Oracle cannot scan the index.

LIKE Condition: General Examples

This condition is true for all last_name values beginning with Ma :

last_name LIKE ‘Ma%’

All of these last_name values make the condition true:

Mallin, Markle, Marlow, Marvins, Marvis, Matos

Case is significant, so last_name values beginning with MA , ma , and mA make the condition false.

Consider this condition:

last_name LIKE ‘SMITH_’

This condition is true for these last_name values:

SMITHE, SMITHY, SMITHS

This condition is false for SMITH because the special underscore character ( _ ) must match exactly one character of the last_name value.

ESCAPE Clause Example

The following example searches for employees with the pattern A_B in their name:

SELECT last_name FROM employees WHERE last_name LIKE ‘%A\_B%’ ESCAPE ‘\’;

The ESCAPE clause identifies the backslash (\) as the escape character. In the pattern, the escape character precedes the underscore (_). This causes Oracle to interpret the underscore literally, rather than as a special pattern matching character.

Patterns Without % Example

If a pattern does not contain the % character, then the condition can be true only if both operands have the same length. Consider the definition of this table and the values inserted into it:

CREATE TABLE ducks (f CHAR(6), v VARCHAR2(6)); INSERT INTO ducks VALUES (‘DUCK’, ‘DUCK’); SELECT ‘*’||f||’*’ “char”, ‘*’||v||’*’ “varchar” FROM ducks; char varchar ——– ——– *DUCK * *DUCK*

Oracle 비교 연산자 LIKE

LIKE 연산자

지정한 문자 패턴에 일치하는 문자를 검색합니다. 검색하고 싶은 문자를 정확히 모를 경우나, 값의 일부만으로 검색하고 싶을 경우에 사용합니다. 문자 패턴은 지정한 문자와 와일드카드 문자로 구성됩니다.

와일드카드

와일드카드란 임의의 문자열을 대신할 수 있는 문자를 뜻합니다. LIKE 연산자에서 자주 쓰는 와일드카드는 이하와 같습니다.

・% : 0글자 이상의 문자열을 표시, 글자수는 검색조건의 일부가 되지 않는다.

・_ : 언더바 하나 당 한 글자의 문자를 표시, 문자수 등도 검색조건의 일부가 된다.

예시1

emp테이블에서 ename 컬럼의 데이터를 LIKE문을 사용해 첫번째 문자가 S로 시작하는 데이터를 취득하는 SQL문입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE ename LIKE ‘S%’;

실행 결과는 다음과 같습니다. S로 시작하는 문자열을 가진 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7369 SMITH 1980/12/17

예시2

emp테이블에서 ename 컬럼의 데이터를 LIKE문을 사용해 마지막 문자가 D로 시작하는 데이터를 취득하는 SQL문입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE ename LIKE ‘%D’;

실행 결과는 다음과 같습니다. D로 끝나는 문자열을 가진 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7521 WARD 1981/02/22 7902 FORD 1981/12/03

예시3

emp테이블에서 ename 컬럼의 데이터를 LIKE문을 사용해 가운데에 오는 문자가 ME인 데이터를 취득하는 SQL문입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE ename LIKE ‘%ME%’;

실행 결과는 다음과 같습니다. 가운데에 ME가 위치한 문자열을 가진 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7900 JAMES 1981/12/03

예시4

emp테이블에서 ename 컬럼의 데이터를 LIKE문을 사용해 두 번째 문자인 ‘L’ 전후의 문자수를 지정하여 문자수가 일치하는 데이터를 취득하는 SQL문입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE ename LIKE ‘_L___’;

실행 결과는 다음과 같습니다. 두번째 문자가 L이며 총 다섯 글자인 문자열을 가진 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7499 ALLEN 1981/02/20 7698 BLAKE 1981/05/01 7782 CLARK 1981/06/09

예시5

emp테이블에서 ename 컬럼의 데이터를 LIKE문을 사용해 총 문자수를 지정하여 문자수가 일치하는 데이터를 취득하는 SQL문입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE ename LIKE ‘______’;

실행 결과는 다음과 같습니다. 총 여섯 글자인 문자열을 가진 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7654 MARTIN 1981/09/28 7844 TURNER 1981/09/08 7934 MILLER 1982/01/23

예시6

emp테이블에서 ename 컬럼의 데이터를 LIKE문을 사용해 마지막에서 두번째 문자가 E인 데이터를 취득하는 SQL문입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE ename LIKE ‘%E_’;

실행 결과는 다음과 같습니다. 마지막에서 두번째 문자가 E인 문자열을 가진 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7499 ALLEN 1981/02/20 7566 JONES 1981/04/02 7844 TURNER 1981/09/08 7900 JAMES 1981/12/03 7934 MILLER 1982/01/23

LIKE 연산자는 문자데이터 검색만 가능하지만 검색 대상의 항목이 문자 외의 다른 데이터 형식이어도 사용할 수 있습니다. 다만 상세한 조건을 지정하기에는 비효율적일 수 있습니다.

주의1

LIKE문으로 데이터 형식이 number인 데이터를 출력하는 예시입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE empno LIKE ‘76%’;

empno가 76으로 시작하는 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7654 MARTIN 1981/09/28 7698 BLAKE 1981/05/01

주의2

LIKE문으로 데이터 형식이 date인 데이터를 출력하는 예시입니다.

COLUMN empno FORMAT 99999; COLUMN ename FORMAT A6; COLUMN hiredate FORMAT A10; alter session set nls_date_format = ‘YYYY/MM/DD’; SELECT empno, ename, hiredate FROM emp WHERE hiredate LIKE ‘1982%’;

hiredate가 1982로 시작하는 데이터가 출력됩니다.

EMPNO ENAME HIREDATE —— —— ———- 7934 MILLER 1982/01/23

와일드카드로 쓰이는 문자가 포함된 데이터를 검색할 때

오라클 LIKE를 이용한 특정 문자 포함 검색방법

반응형

오라클 TB1 테이블에서

사람들의 이름(NAME)과 나이(AGE)

컬럼이 있는 것을 볼 수 있는데

LIKE를 사용해서

특정 문자를 포함하고 있을 경우에만

조회를 하려고 해 본다

LIKE는 WHERE절에서

WHERE 컬럼명 LIKE ‘%조건%’

와 같이 사용하는데

아래 예제를 통해 알아보자

SELECT * FROM TB1

WHERE NAME LIKE ‘%영희’

를 쓴 것이 보이는데

LIKE에서 %를 앞에만 붙여주면

컬럼 안의 데이터가 영희로 끝나는 값만 가져온다

LIKE ‘%값’ 은

값으로 끝나는 경우에만 가져온다는 것!

SELECT * FROM TB1

WHERE NAME LIKE ‘박영%’

LIKE에서 %를 뒤에 붙여주면

컬럼 안의 데이터가 박영으로 시작하는 값만 가져온다

LIKE ‘값%’ 은

값으로 시작하는 경우에만 가져온다는 것!

마지막으로

SELECT * FROM TB1

WHERE NAME LIKE ‘%영수%’

는 %를 앞 뒤에 모두 넣었는데

이러면 영수가 들어간 값을

위치에 상관없이 모두 가져오게 된다

LIKE ‘%값%’ 은

값이 들어있으면 가져온다는 것!

이제 정리해보자면

오라클에서 조회(SELECT) 시

WHERE에 LIKE를 사용해서

특정 값이 포함된 경우만 조회할 수 있는데

WHERE 컬럼명 LIKE ‘%값%’

과 같이 사용하며

LIKE ‘%값’

은 값으로 끝나는 경우에만 가져오고

LIKE ‘값%’

은 값으로 시작하는 경우에만 가져오고

LIKE ‘%값%’

은 값이 들어있으면 가져오게 된다

예제에 사용한 쿼리는 아래와 같다

SELECT * FROM TB1 WHERE NAME LIKE ‘이%’ — 이로 시작하는 경우에만 SELECT * FROM TB1 WHERE NAME LIKE ‘%영희’ — 영희로 끝나는 경우에만 SELECT * FROM TB1 WHERE NAME LIKE ‘%영수%’ — 영수가 들어있을 경우

반응형

키워드에 대한 정보 오라클 like

다음은 Bing에서 오라클 like 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 오라클 데이터베이스 SQL 강의 17강 – 패턴 비교 연산자(LIKE, %, _ )

  • 자바
  • 데이터베이스
  • 프로그래밍
  • 기초
  • 강좌

오라클 #데이터베이스 #SQL #강의 #17강 #- #패턴 #비교 #연산자(LIKE, #%, #_ #)


YouTube에서 오라클 like 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 오라클 데이터베이스 SQL 강의 17강 – 패턴 비교 연산자(LIKE, %, _ ) | 오라클 like, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment