목록문자열 (5)
코드 짜는 티모
ORACLE 문자열 길이 찾기 오라클에서 문자열의 길이를 찾기 위해서는 LENGTH를 사용한다. LENGTH : 문자열의 글자 수 LENGTHB : 문자열의 바이트 수 (시스템의 charset에 따라 한글을 1글자당 2byte OR 3byte 일 수 있다.) SELECT LENGTH('오라클') , LENGTH('오라클 SQL') , LENGTHB('오라클') , LENGTHB('오라클 SQL') FROM dual LENGTH('오라클') : 3 LENGTH('오라클 SQL') : 7 LENGTHB('오라클') : 9 LENGTHB('오라클 SQL') : 13 ORA-01704: 문자열이 너무 깁니다 라는 오류를 보게되면 들어온 값이 선언되어있는 사이즈보다 클 수 있으니 체크 후 값을 잘라서 insert..
String.split() 메서드는 주어진 정규 표현식 또는 구분자를 기반으로 문자열을 분할하는 데 사용됩니다. Java String.split() 메서드 사용법 `String.split()` 메서드는 문자열을 분할하여 배열로 반환하는데, 주로 특정 구분자를 기준으로 문자열을 나눌 때 사용됩니다. 메서드 시그니처 public String[] split(String regex) 매개변수 regex: 분할에 사용되는 정규 표현식이나 일반 문자열입니다. 반환값 String[]: 분할된 문자열을 담은 배열을 반환합니다. 예제 public class StringSplitExample { public static void main(String\[\] args) { // 예제 문자열 String sampleStrin..
indexOf 함수가 문자열에서 특정 문자열의 위치를 찾아 index값을 반환해준다. 특정 문자열이 없을 경우에는 -1 을 리던한다. 문자열을 가공할때 indexOf로 index값을 찾아 substring을 하는 경우도 있고 생각보다 여기저기에 쓰인다. 직접 테스트해보며 매개변수에 따라 어떤 값을 리턴하는지 해보자. String tmp = "123412341234"; int index = tmp.indexOf("23") ; (tmp가 String이 아닐경우에 .toString해주면 됩니당) int index2 = tmp.indexOf("23",2); int index3 = tmp.indexOf("23",4); 일 때, index, index2, index3 의 값은 1 5 5 가 나오겠죠. 첫번째 매개변..
SQL 문자열 자르기 split하여 비교 어떠한 입력값이 , 를 기준으로 여러개의 데이터가 들어온다. 예를 들어 ' 3,34,356,3678' 와 같은 데이터를 입력받고 ,를 기준으로 split(tokenize)하여 저 값과 일치하는 데이터를 추출하고 싶다. 프로그래밍 언어였다면 split이나 tokenizer를 사용하여 배열어 넣든 쉽게 구현할수 있다. 쿼리문으로는 substring을 해서 꺼낼 수 있겠지만 하나씩 가져와야한다. ( 좋은 방법은 아닌듯 하다. ) 그래서 알아보니 계층구조와 level 을 사용하면 간단하게 구현이 가능하다. 123SELECT TRIM(REGEXP_SUBSTR(TXT, '[^,]+', 1, LEVEL))FROM (SELECT RTRIM('3,34,356,3678',',') ..