[MSSQL] DB에 중문 데이터 삽입 시 글자가 깨지는 문제
·
Error Note
중문 사이트를 작업하던 중에, MSSQL DB에 중문 데이터를 삽입했을 때 글자가 ???로 깨져서 들어가는 문제가 있었다. 해결방법1. 해당 컬럼의 데이터 타입이 NVARCHAR인지 확인하기  - 만약 VARCHAR라면 NVARCHAR로 변경해주어야 함 2. INSERT 문 작성 시 중문 문자열 앞에 N을 덧붙이기-- INSERT문 예시INSERT INTO 테이블명 (컬럼명)VALUES (N'瑞鍈');-- 프로시저 예시EXEC 프로시저명 @변수명=N?;
[SQL] 날짜 포맷팅 함수 (DATE_FORMAT)
·
SQL
날짜 포맷팅 함수 - DATE_FORMAT(날짜데이터, '형식') %Y 연도 (4자리) %y 연도 (2자리) %m 월 (2자리) %d 일 (2자리) %H 시 (00~23) %h 시 (01~12) %i 분 (00~59) %S 초 (00~59)
[SQL] DBMS별 문법 차이
·
SQL
MySQLMSSQLOracleNull 값 처리IFNULL(컬럼명, 값)ISNULL(컬럼명, 값)NVL(컬럼명, 값)테이블 데이터 복사INSERT INTO 신규테이블명(컬럼명)SELECT 컬럼명FROM 기존테이블명SELECT 컬럼명INTO 신규테이블명FROM 기존테이블명INSERT INTO 신규테이블명 (컬럼명)SELECT 컬럼명FROM 기존테이블명단일조건IF(조건, 조건일치, 불일치)DECODE(컬럼명, 값일치, 불일치)case 문 사용IF(조건, 조건일치, 불일치)DECODE(컬럼명, 값일치, 불일치)문자열 병합CONCAT(문자열1, 문자열2, ...)문자열1 + 문자열2 + ...CONCAT(문자열1, 문자열2)문자열1 || 문자열2 || ...현재 날짜/시간NOW()GETDATE()SYSDATE()..
[SQL] 정규화와 역정규화(반정규화)
·
SQL
이상 현상 (Anomaly)  - 테이블에서 일부 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 문제  1) 삽입 이상      · 데이터를 삽입할 때, 의도와는 상관 없이 원하지 않는 값들이 함께 삽입됨      · 데이터가 부족해서 null 값이나 불필요한 값을 삽입해야 함  2) 삭제 이상      · 데이터를 삭제할 때, 원하지 않는 값들도 함께 연쇄적으로 삭제됨  3) 갱신 이상      · 데이터를 갱신할 때, 일부 데이터만 갱신되어 모순이 발생함  정규화 (Normalization)  - 데이터 중복성을 제거해서 이상 현상을 방지하고, 데이터의 일관성을 유지하기 위해 무손실 분해하는 과정  - 무손실 분해      : 분해로 인한 정보 손실이 발생하지 않아야 함        → JOIN..
[SQL] 커넥션 풀 (Connection Pool) ★
·
SQL
커넥션 풀 (Connection Pool)  - 미리 정해진 개수의 데이터베이스 커넥션을 풀(Pool)에 저장해둠      → 요청이 들어올 때마다 커넥션 풀에서 커넥션을 하나씩 꺼내서 사용함 #  장점  - DB와의 연결을 생성/종료하는 시간/비용 감축  - 불필요한 연결 생성으로 인한 리소스 낭비 감소  - DB 연결을 더욱 효율적으로 관리함  - 성능 향상 (처리 속도 향상)  연결된 프로세스 확인1SHOW FULL PROCESSLIST;cs" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스    - id : 프로세스 아이디  - User : 스레드가 접속하고 있는 MySQL 사용자명  - Host : 사용자 IP 주소  - command : 스레드의 현재..