SQL Server 와 MySQL 문자열 함수 비교 10 가지 > db

본문 바로가기

db

SQL Server 와 MySQL 문자열 함수 비교 10 가지

페이지 정보

작성자 서방님 댓글 0건 조회 25회 작성일 12-09-26 16:27

본문

구분<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

SQL Server

MySQL

설명

가장 왼쪽 문자에 해당하는 ASCII 코드 출력

함수

ASCII

ASCII

예제

SELECT ASCII('A')

SELECT ASCII('A')

결과

65

65

 

구분

SQL Server

MySQL

설명

문자열에서 지정한 문자의 시작 위치 값을 반환 (왼쪽부터 문자씩 영어, 한글, 숫자, 기호 상관없이 글자 1 차지 하며 위치값은 1 부터 시작)

함수

CHARINDEX

INSTR

예제

SELECT CHARINDEX('크리', '나홀로크리스마스')

SELECT INSTR('나홀로크리스마스', '크리')

결과

4

4

 

구분

SQL Server

MySQL

설명

공백 제거 – SQL Server 선행, 후행 공백을 제거해주는 LTRIM, RTRIM 혼용 사용해야 하며 MySQL Trim 이란 함수가 , 후행 공백을 제거해 줍니다.

LTRIM(str), RTRIM(str) 함수도 따로 존재합니다.

함수

LTRIM() – 선행공백 제거

RTRIM() – 후행공백 제거

LTRIM() – 선행공백 제거

RTRIM() – 후행공백 제거

TRIM() – 양쪽공백 제거

예제

SELECT LTRIM( RTRIM(' 이제 빠져버렸어 '))

SELECT TRIM(' 이제 빠져 버렸어 ')

결과

이제 빠져 버렸어

이제 빠져 버렸어

 

구분

SQL Server

MySQL

설명

문자열의 왼쪽부터 지정된 수만큼 문자를 반환 (사용법 동일)

함수

LEFT

LEFT

예제

SELECT LEFT('메리크리스마스', 2)

SELECT LEFT('메리크리스마스', 2)

결과

메리

메리

 

구분

SQL Server

MySQL

설명

문자열의 오른쪽부터 지정된 수만큼 문자를 반환 (사용법 동일)

함수

RIGHT

RIGHT

예제

SELECT RIGHT('메리크리스마스', 2)

SELECT RIGHT('메리크리스마스', 2)

결과

마스

마스

 

구분

SQL Server

MySQL

설명

시작 위치에서 지정한 문자 길이를 삭제하고 다른 문자 집합을 삽입

함수명만 다르고 인자 순서, 사용법이 동일합니다.

함수

STUFF

INSERT

예제

SELECT STUFF('sad chritmas' , 1, 3, 'happy')

SELECT INSERT('sad chritmas' , 1, 3, 'happy')

결과

“happy chirtmas”

“happy chirtmas”

 

구분

SQL Server

MySQL

설명

지정한 사이즈가 문자열 길이 보다 적은 만큼 문자열 왼쪽부터 지정한 문자열을 채우는 처리를 합니다. MySQL 에서는 LPAD 기본함수가 제공 됩니다.

SQL Server 기본 함수가 제공되지 않으므로 필요에 따라 사용자 정의 함수를 만들어 사용해야 합니다.

함수

기본 제공 함수 없음

LPAD

예제

SELECT dbo.LPAD("ke some noise!!", 17, "!!")

SELECT LPAD("ke some noise!!", 17, "!!")

결과

make some noise!!

make some noise!!

 

-- LPAD 사용자 정의 함수 생성

-- WHILE 문을 이용 처리하는 방법도 있으나 len Replicate 사용법 명시

CREATE FUNCTION dbo.LPAD( @str AS VARCHAR(100), @len AS INT, @padstr AS VARCHAR(100) = '')

 RETURNS VARCHAR(2000)

AS

BEGIN

 RETURN

  CASE WHEN LEN(@str) >= @len THEN SUBSTRING(@str, 1, @len)

   ELSE SUBSTRING(REPLICATE( @padstr, @len), 1, @len - LEN(@str)) + @str END

END

 

구분

SQL Server

MySQL

설명

위에 LPAD 반대로 지정한 문자열을 오른쪽부터 채워줍니다.

MySQL 에서는 RPAD 기본 함수가 제공됩니다.

마찬가지로 SQL Server 에서는 필요에 따라 사용자 정의 함수를 만들어 사용해야 합니다.

함수

기본 제공 함수 없음

RPAD

예제

SELECT dbo.RPAD("make some noise!!", 17, "!!")

SELECT RPAD("make some noise!!", 17, "!!")

결과

make some noise!!

make some noise!!

 

-- RPAD 사용자 정의 함수 생성

-- WHILE 문을 이용 처리하는 방법도 있으나 len Replicate 사용법 명시

CREATE FUNCTION dbo.RPAD( @str AS VARCHAR(100), @len AS INT, @padstr AS VARCHAR(100) = '')

 RETURNS VARCHAR(2000)

AS

BEGIN

 RETURN

  CASE WHEN LEN(@str) >= @len THEN SUBSTRING(@str, 1, @len)

   ELSE @str + SUBSTRING(REPLICATE( @padstr, @len), 1, @len - LEN(@str)) END

END

 

구분

SQL Server

MySQL

설명

지정한 문자열의 길이를 반환 합니다.

SQL Server 후행 공백을 무시하지만 MySQL CHAR_LENGTH 함수는 공백도

포함하여 길이를 반환합니다.

함수

기본 제공 함수 없음

RPAD

예제

select LEN('abc  ')

SELECT CHAR_LENGTH('abc  ')

결과

3

5

 

구분

SQL Server

MySQL

설명

문자열을 합하여 결과를 출력

함수

+ 연산자를 통해 처리

CONCAT

예제

SELECT 'SQLER Members' + ' Victory!!'

SELECT CONCAT('SQLER Members',' Victory!!')

결과

SQLER Members Victory!!

SQLER Members Victory!!

 

댓글목록

등록된 댓글이 없습니다.

Total 447건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
138
어제
365
최대
592
전체
40,112

그누보드5
Copyright © seobangnim.com All rights reserved.
자바스크립트를 활성화 하세요![ 브라우저에서 자바스크립트를 활성화하는 방법 ]