instrํจ์๋ ์ด๋ค ์คํธ๋ง์ ํน์ ์์น์์ ์์ํด์ ํน์ ์ผ๋ฆญํฐ๊ฐ ์์นํ ๊ณณ๊น์ง์ ์์น๋ฅผ ๊ณ์ฐํด์ ๋ฐํํด์ฃผ๋ ํจ์์ ๋๋ค.
Java์ split ๋ฉ์๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ ์ค๋ผํด์ substrํจ์์ ํจ๊ป ๊ฐ์ด ์ฌ์ฉ๋ ์ ์์ฃ .
์ค๋ผํด ๋ฌธ์์์ ์ค๋ช ํ๋ instrํจ์์ ๋ํ ์ ์ ๋ฐ ๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
The INSTR functions (INSTR, INSTRB, INSTRC, INSTR2, and INSTR4) searches a string for a substring using characters and returns the position in the string that is the first character of a specified occurrence of the substring. The functions vary in how they determine the position of the substring to return.
-
INSTR calculates lengths using characters as defined by the input character set.
-
INSTRB calculates lengths using bytes.
-
INSTRC calculates lengths using Unicode complete characters.
-
INSTR2 calculates lengths using UCS2 code points.
-
INSTR4 calculates lengths using UCS4 code points.
๋ฐํ๊ฐ
A nonzero INTEGER when the search is successful or 0
(zero) when it is not.
๋ฌธ๋ฒ
{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (string , substring [, position [, occurrence]])
๊ทธ๋ผ ๊ฐ๋จํ ์์ ๋ฅผ ํ๋ฒ ๋ณด์์ฃ .
abc.def.ghi.jkl ์ด๋ผ๋ ํจํค์ง๋ช
์ด ์๋ค๊ณ ํด๋ด
์๋ค.
์ด ํจํค์ง๋ช ์์ abc.def ( ๋๋ฒ์งธ depth ๊น์ง)๋ง ์ถ์ถํด๋ด๊ณ ์ถ์๋ฐ ๊ทธ๋ฌ๋ ค๋ฉด substr์ ์๊ฐํ์ค ์๋ ์๊ฒ ์ฃ .
select substr(packageNm, 1, 7) from ClassTable;
์ด๋ ๊ฒ ํ๋ฉด ๊ฒฐ๊ณผ๋ abc.def ๊ฐ ๋์ฌ ๊ฒ์
๋๋ค.
ํ์ง๋ง ๋ง์ฝ ํจํค์ง๋ช ์ด 3๊ธ์.3๊ธ์ ํํ๊ฐ ์๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
a.b.c.d.e.f ๋ผ๋ ํจํค์ง๋ช ์ ์์ฒ๋ผ ์๋ฅด๋ฉด a.b.c.d ๋ผ๊ณ ์๋ ค์ ๋์ค๊ฒ ์ฃ ?
๋๋ฒ์งธ depth๊ฐ ์๋๋ผ 7๋ฒ์งธ๊น์ง ์ถ๋ ฅ์ด ๋๋ฒ๋ฆฌ๊ฒ ๊ตฐ์.
์ด๋ instr ํจ์๋ฅผ ์ฌ์ฉ์ ํฉ๋๋ค.
select substr( packageNm, 1, instr( packageNm, '.', 1, 2) - 1 ) ) from ClassTable;
์ด๋ ๊ฒ ํจ์๋ฅผ ์จ์ค๋๋ค.
instr(
packageNm, '.', 1, 2 ) ๋ผ๋ ๋ถ๋ถ์ packageNm์ด๋ผ๋ ์คํธ๋ง์ '.' (๋ง์นจํ)๋ก ๊ตฌ๋ถ์ ์ง๊ณ 1๋ฒ์งธ
์ธ๋ฑ์ค์์ ์์ํด์ 2๋ฒ์งธ ๋ง์นจํ๊ฐ ๋์ค๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ง์นจํ๊ฐ ์๋ ์ธ๋ฑ์ค๊ฐ ๋์ค๊ธฐ ๋๋ฌธ์ -1์ ํด์ค ๊ฐ์
substrํจ์์ length์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ฒ์งธ depth๊น์ง substrํ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค.