Database/SQL

[Oracle] ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„

์ฑ”๐Ÿป 2022. 1. 17. 17:37

์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„

์šฐ์„ ์ˆœ์œ„ ์—ฐ์‚ฐ์ž
1 ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž (*, /, +, -)
2 ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž (
3 ๋น„๊ต์—ฐ์‚ฐ์ž ( <, >, ≤, ≥, <>, = )
4 IS NULL, LIKE, IN
5 BETWEEN
6 NOT ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž
7 AND ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž
8 OR ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

์ด๊ฑธ ๋ชฐ๋ผ์„œ 3์‹œ๊ฐ„์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•œ ์ ์ด ์žˆ์—ˆ๋‹ค.

ORA-01843: not a valid month ๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ์ž๊พธ ๋ฐœ์ƒํ–ˆ๋‹ค

 

ORA-01843: ์ง€์ •ํ•œ ์›”์ด ๋ถ€์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

ORA-01843: not a valid month

SELECT *
  FROM PRODUCT P
WHERE UPPER(P.PANME) LIKE UPPER('%ํ…Œ์ŠคํŠธ%')
  AND SYSDATE BETWEEN TO_DATE(CONCAT(NVL(P.SDATE,'20000101'), '000000'), 'YYYYMMDDHH24MISS') AND TO_DATE(CONCAT(NVL(P.EDATE,'20991231'),'235959'), 'YYYYMMDDHH24MISS');

์ƒํ’ˆ์˜ ์ด๋ฆ„์ด 'ํ…Œ์ŠคํŠธ' && ๊ฒŒ์‹œ์‹œ์ž‘์ผ < SYSDATE < ๊ฒŒ์‹œ์ข…๋ฃŒ์ผ 

์œ„ ๋‘ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค.

์›์ธ์€ TO_DATE() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

SELECT *
  FROM PRODUCT P
WHERE UPPER(P.PANME) LIKE UPPER('%ํ…Œ์ŠคํŠธ%');

๋‚ ์งœ BETWEEN ์กฐ๊ฑด์„ ์ฃผ์„์ฒ˜๋ฆฌํ•˜๊ณ  LIKE ์กฐ๊ฑด๋งŒ ๊ฑธ์—ˆ์„ ๋•Œ๋Š” ๋ฌธ์ œ์—†์ด ๋‚˜์™€์„œ P.SDATE์™€ P.EDATE ๋ฐ์ดํ„ฐ์— ๋ญ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด ๊ทธ๋Ÿฐ ๊ฒƒ ๊ฐ™์•„
AND UPPER(P.B) LIKE UPPER('%ํ…Œ์ŠคํŠธ%') ์กฐ๊ฑด๋งŒ ๊ฑธ๊ณ  P.SDATE์™€ P.EDATE ์ปฌ๋Ÿผ์„ ์ถœ๋ ฅํ•ด๋ณด์•˜๋Š”๋ฐ ์ „ํ˜€ ๋ฌธ์ œ๋ ๋งŒํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€์žˆ์ง€ ์•Š์•˜๋‹ค...

ํ˜น์‹œ๋‚˜ํ•ด์„œ ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด๊ฐ€ ๋งž์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‚˜ ํ•ด์„œ ์กฐํšŒ๋ฅผ ํ•ด๋ณด์•—๋”ฐ.

SELECT LENGTH(SDATE)
  FROM PRODUCTS P
GROUP BY LENGTH(SDATE);

๊ทธ ํ˜น์‹œ๋‚˜๊ฐ€ ์—ญ์‹œ๋‚˜์˜€๋‹ค. 

10์ž๋ฆฌ๋กœ ๋‚˜์˜ค๋Š” ๋ฐ์ดํ„ฐ๋“ค์— ๋ณด๋‹ˆ๊นŒ ํ•˜์ดํ”ˆ์ด ๋“ค์–ด๊ฐ€์žˆ์–ด์„œ TO_DATE๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด์˜€๋‹ค ใ…Ž..

์ฒ˜์Œ์—” WHERE ๋ฌธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ„์ถ”๋ฆฌ๋Š” ์ˆœ์„œ๊ฐ€ ๋‚˜๋Š” ๋‚˜์—ด ์ˆœ์„œ์ธ ์ค„ ์•Œ๊ณ  ์žˆ์–ด์„œ ์ด๊ฒŒ์™œ??? ์–ด์ฐจํ”ผ AND UPPER(P.B) LIKE UPPER('%ํ…Œ์ŠคํŠธ%')  ์กฐ๊ฑด์—์„œ ๊ฑธ๋Ÿฌ์ง€๋Š” ๋ฐ์ดํ„ฐ๋“ค์ด๋ผ ์ƒ๊ด€์—†์ง€ ์•Š๋‚˜??? ํ•˜๊ณ  ์ง„์งœ ์ดํ•ด๊ฐ€ ์•ˆ ๋์—ˆ๋Š”๋ฐ

์•Œ๊ณ ๋ณด๋‹ˆ ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ 

 

์•Œ๊ณ ๋ณด๋‹ˆ WHERE ๋ฌธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ„์ถ”๋ฆฌ๋Š” ์ˆœ์„œ๊ฐ€ ๋‚˜๋Š” ๋‚˜์—ด ์ˆœ์„œ์ธ ์ค„ ์•Œ์•˜๋Š”๋ฐ

๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด์˜€๋‹ค.
์กฐ๊ฑด์„ ๊ฑธ์—ˆ์œผ๋‹ˆ 'ํ…Œ์ŠคํŠธ'๋ผ๋Š” ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์™€์„œ ๊ทธ ๋ฐ์ดํ„ฐ์˜ P.SDATE์™€ P.EDATE ์กฐ๊ฑด์„ ๋˜ ํ•„ํ„ฐ๋ฅผ ๊ฑธ ์ค„ ์•Œ์•˜๋‹ค.

์†”์งํžˆ ์ฑ…์—์„œ ํ•œ๋ฒˆ ใ…‡ใ…Ž ์ด๋Ÿฐ๊ฒŒ ์žˆ๊ตฐ ์ด๋Ÿฌ๊ณ  ๋„˜์–ด๊ฐ€๊ณ  ๋‹ค์‹  ๋ณด์ง€๋„ ์•Š์•˜๋˜๊ฑด๋ฐ ใ…‹ใ…‹ใ…‹ ์ด๊ฑธ ๋ชฐ๋ผ์„œ 3์‹œ๊ฐ„์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•  ์ค„์ด์•ผ ใ… ..