'SQL'에 해당되는 글 3건

  1. 2016.01.26 MS SQL에서 오라클의 INSTR와 같은 함수
  2. 2016.01.26 문자열의 특정 부분을 지정된 길이만큼 반환하는 문제의 substr비교(오라클, ms sql, 자바, 자바스크립트, xplatform)
  3. 2016.01.26 MS SQL에서 문자 합치기 oracle의 concat 혹은 ||

특정 문자열의 위치를 검색하려고 할때 오라클에서는 instr함수를 사용합니다.

 

SELECT INSTR('0123456789','2' ) FROM DUAL

 

결과값: 3

 

 

Ms Sql에서는 charindex를 씁니다. 인자의 순서도 바뀌고요.

 

SELECT CHARINDEX('2', '0123456789')

 

결과값: 3

 

문제의 substr 때로는 substring이기도 하죠. 둘다 쓰기도 하고요. @_@;; 

언어별로 혹은 DB별로 정리해보겠습니다. (오라클, Mssql, 자바, 자바스크립트, XPlatform)

 

1. Oracle

substr(char, postion, length) - length는 생략가능

 

SELECT SUBSTR('0123456789',2,3) FROM DUAL;

 

결과: 123

 

2. Ms Sql

SUBSTRING(expression ,start , length) - length를 생략할 경우 오류발생

 

SELECT SUBSTRING('0123456789',2,3)

 

결과: 123

 

3. Java

public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex) - 두번째 인자가 길이가 아닌 '종료위치'임에 유의

 

 

"0123456789".substring(2,3)

 

결과: 2

 

4. JavaScript

(1) string.substr(start,length) - length는 생략가능

 

"0123456789".substr(2,3);

 

결과: 234

 

(2) string.substring(start, end) - end index는 생략가능

 

"0123456789".substring(2,3);

 

결과: 2

 

 

5. XPlatform

(1) String.substr(nStart [, nLength ]) - length는 생략가능

 

"0123456789".substr(2,3);

 

결과: 234

 

(2) String.substring(nStart, nEnd)

 

"0123456789".substring(2,3);

 

결과: 2

 

문자 합치기 기능입니다.

 

1. oracle: || 이나 concat사용

 

 SELECT 1 || 2 FROM DUAL;

 SELECT CONCAT(1, 2) FROM DUAL; 

 

결과: 12

 

2. ms sql

 

SELECT '1' + '2'

 

결과: 12

 

※ 주의할 점은 Ms Sql에서 다음과 같이 실행하면 결과가 달라집니다.

SELECT 1 + 2

 

결과: 3

 

※ 오라클에서는 + 는 연산자로 인식해서 따옴표 존재여부와 상관없이 더하기로 실행합니다. 문자에 +를 쓰면 Invalid identifier나 format에러가 발생하겠죠.

1 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!