티스토리 뷰
업무를 보다가, 뭐가 잘 안된다는 연락을 받고 확인을 해봤습니다.
ADDRESS 테이블에서 province로 groupby를 한 결과 입니다.
아래 쿼리와 같이 province로 group by를 쿼리로 하게 되면 총 7개의 그룹이 생깁니다.
그러나 실제 프로그램에서는 8개의 그룹이 생긴다고 해서.. 도대체 왜???? 이런 생각이 들었고 소스 코드를 보고 디버깅을 해봤습니다.
결과를 보니,.. 8개가 딱..... 그리고 확인을 해보니, province-3과 Province-3 이렇게.. 두개로 나뉘어 있었습니다.
아... ㅎㅎㅎ 위에는 자바 Stream의 Groupingby를 사용하여 grouping한 결과 입니다.
쿼리 결과물을 자세히 보면.. 대소문자가 막.. 섞여 있습니다.
즉 province-3과 Province-3이 MSSQL에서는 함께 group by 되었던 것 입니다. 하하하..
나름 찾아보니.. MSSQL은 오라클과 다르게 기본적으로 대소문자를 구분하지 않는다고 하네요... ㅠㅠ 뭐 이제라도 알았으니 된거겠죠??
대소문자를 구분하는 쿼리입니다.
select PROVINCE COLLATE Korean_Wansung_CS_AS,count(*) from ADDRESS
group by PROVINCE COLLATE Korean_Wansung_CS_AS;
아주 잘 구분하여.. 그룹을 구분해 주네요...
진작 알았더라면... ORACLE만 사용하다가 실무에서 MSSQL을 사용하려니 어렵네요 ㅠㅠ
COLLATION Korean_Wansung_CS_AS
-> CI : 대소문자 구분 안함, CS : 대소문자 구분
-> AI : 액센트 구분 안함, AS : 액센트 구분
이런식으로 Korean_Wansung 뒤에 설정을 할 수 있습니다. Korean_Wansung은 언어라고 하네요.
SELECT * FROM ADDRESS WHERE PROVINCE COLLATE Korean_Wansung_CS_AS ='province-3';
이런식으로도 활용할 수 있을 것 같습니다.
'DB > RDB' 카테고리의 다른 글
[MSSQL] 다른 데이터베이스 데이터 복사 (0) | 2019.05.17 |
---|---|
MS-SQL 버전 확인 (0) | 2019.04.17 |
MSSQL 테이블, 칼럼 설명(코멘트) 추가하기. (0) | 2019.02.22 |
postgresql 비밀번호 초기화(비밀번호 모를 때) (10) | 2019.02.03 |
MSSQL DB LOCK 걸린 쿼리 확인 후, kill (0) | 2019.01.02 |
- Total
- Today
- Yesterday
- update set multiple
- 슬랙봇
- 뱅크샐러드 유전자
- 몽고DB 완벽가이드
- update query mutiple row
- 슬랙
- 이것이 자바다
- SpringBoot
- MSSQL
- update query
- java
- 다중 업데이트
- 뱅셀 유전자
- 이펙티브자바
- 그레이들
- 싱글턴
- 업데이트 쿼리
- update query multi row
- gradle
- 슬랙 /
- effectivejava
- multiple row update
- 뱅크샐러드
- springboot https
- vue.js
- update set multi
- update query set multiple
- Slack
- visual studio code
- spring-boot-starter-data-redis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |