# MyBatis + MSSQL 사용 시 LIKE 구문


MariaDB (MYSQL 문법) 쓰다가 MSSQL 을 써보았는데, LIKE 구문 작성 형식이 달라 처음에 읭?? 했었다.

다른 쿼리에서 에러난 줄 알고 한참 보고있었는데, 결국 에러 원인은 LIKE 구문이었다 ㅎㅎ. 미세하게 다르다.


1. MyBatis + MariaDB 사용 시 LIKE 구문


 USERNAME  LIKE '%' #{USERNAME } '%'



2. MyBatis + MSSQL 사용 시 LIKE 구문 

   

   - 동적으로 받아오는 입력값 양옆으로 + 를 붙여줘야 한다.


 USERNAME LIKE '%' + #{USERNAME} + '%' 



3. 참고


   - LIKE 구문은 문자열 중 해당 문자를 포함하고 있는 문자열을 검색해주는 기능을 한다. 

   - 주로 검색 조건 값을 처리할 때 사용되는 연산자이다.

   - 아래 표는 LIKE 연산자 사용 시 함께 사용되는 와일드 카드들이다.

   

 %

  여러 문자
 _  단일 문자

 [ ]

  [ ]에 속하는 하나의 패턴과 일치하는 단일 문자 

  

  예) LIKE '[0-9][0-9][0-9]%';

      결과--> 앞의 세글자가 각각 숫자인 것을 찾아냅니다.

 [^]

  [ ] 에 속하는 패턴에 포함되지 않는 단일 문자



__________________________________________________________________________________________________________________________________________________________
** 본 포스팅에 대해 수정해야할 부분이나 추가 의견 등이 있으신 분들은 댓글 달아주세요. 언제나 환영입니다 :) 
** 본 포스팅을 reference 자료로 참고하실 분들은 출처를 꼭 밝혀주시기 바랍니다.

 


'Database > MSSQL' 카테고리의 다른 글

MSSQL - LEN() 문자열 자릿수 반환  (0) 2017.02.26
MSSQL - Numeric() 소수점 자릿수 지정 함수  (0) 2017.02.26

# MSSQL - Numeric(p,s) 함수


1. 역할


   : 소수점 자릿수를 지정하는 함수

   : 파라미터 p는 소수점 이하 자리를 포함한 총 자릿 수 이며, s는 소수점 이하 자릿 수 만을 의미한다.

   : s 를 생략하면 default 로 0으로 설정된다.

 

2. Example


   : AVG_PAY AS Numeric(6,2): AVG_PAY라는 필드의 값을 소수점 이하 두 자리로, 소수점 이하 두자리 포함 전체 6자리의 수까지만 허용하겠다는 뜻.

   : Numeric (6,2) 의 결과로 올 수 있는 숫자들로는 5,200.50 / 240.38 / 9,900.99  등이 있다.



'Database > MSSQL' 카테고리의 다른 글

MSSQL - LEN() 문자열 자릿수 반환  (0) 2017.02.26
MyBatis + MSSQL 사용 시 LIKE 구문  (0) 2017.02.26

차장님과 SAP Jco 관련 에러를 해결하다가 systemWOW64 폴더를 처음 보게되었다.

system32는 종종 봐왔지만, systemWOW64는 정말 처음 보는 애였다. ㅎㅎ 


겉보기에는 이름 그대로 systemWOW64는 64bit 프로세스를 처리할 것 같고, system32는 32bit 용을 처리할 것 같아 보였다.

하지만 실은 그 반대라고 차장님이 설명해주셔서 따로 적어놓았다가 이렇게 정리해둔다.


# System32 와 SystemWOW64 차이


64bit Windows 운영체제에서 파일을 위치시킬 때, 

64bit용 DLL은 system32에, 32bit용 DLL은 systemWOW64에 위치시킨다.

(C:\Windows\System32, C:\Windows\System32)


왜 헷갈리게 이렇게 교차로 match되어 들어갈까?? 


궁금해서 그 이유를 찾아보다가 MS에서 naming 쪽을 담당했던 직원의 인터뷰 자료를 찾게 되었다.

이름 안에 WOW가 들어가는 것도 정말 WOW 였다.....ㅎㅎ


—And what about System32 is that yours?

—Yep. I thought, "these files are 32 bit files. So I'll put them here."

—And that was pretty successful?

—Yes. I did such a good job naming it System32, that nowadays it contains all the 64 bit files as well.

—Then what happens to the 32 bit version of the 64 bit files. Where do they go?

—Well they can't go in System32, because on a 64 bit machine, System32 is where the 64 bit files go. So if we're running a 32 bit executable we lie to the executable and tell it that "System32" points at another folder, called SysWOW64 and that's where we stick the 32 bit files.

—Why is there a 'WOW' in the middle of the name?

—I was typing System64 and half way through I just thought: "WOW, nature is beautiful!"

—And the 32 bit files, they go in SysWOW64, since the 64 bit files are in System32?

        —Yep. (Laughing) Oh I took a lot of meth that day, my friend. 



이와 마찬가지로 Program Files(x86) 폴더도 32bit 용 파일들이 위치하는 곳이다.  그냥 Program Files 폴더에는 64bit 용 파일들이 위치하고 ㅎㅎ



예전에는 정말 폴더들도 아무 생각없이 봤었는데 요새는 한 번씩 생각하게 된다 ㅎㅎ 

얘는 무슨 역할을 하는 애지?? 



많이 궁금해하고, 많이 배워야지 :) 


'JAVA' 카테고리의 다른 글

예외처리 관련 참고문서  (0) 2017.06.11
로깅(Logging) 참고문서  (0) 2017.06.11
JAVA - 향상된 for 문 (from Java1.5)  (0) 2017.02.26
SAPJCO 연동 설정  (0) 2017.02.26
JAVA_리팩토링  (1) 2017.01.08

+ Recent posts