목록IT Cafe+/MS-SQL (7)
뽁
SQL DB에서는 JDBC string type을 NVARCHAR 로 처리함. 그래서 varchar 로 된 컬럼에 대한 값이 string 으로 될 경우 묵시적 형변환이 일어나 Index 를 타지 않고 속도가 느려짐. 예) test_table.com_id varchar(10)이고 index 가 생성되어 있음. SELECT * FROM test_table WHERE com_id = v_string ; 이 쿼리에서 com_id 는 varchar, v_string은 nvarchar. com_id, v_string 의 data type을 맞춰주기 위해 둘 중에 하나를 변경해야 하는데 nvarchar 가 varchar 보다 dataType 우선순위가 높기 때문에 com_id 가 navarchar 로 변환이 됨. 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbKZGN/btqGqRaNguB/YegatOtpTvQRokslv3NI40/img.png)
DB2 데이터를 MSSQL 2017로 전환하는 방법. 사전 준비 작업 MSSQL BCP 를 이용하기 위해 "MsSqlCmdLnUtils.msi" 를 전환 작업을 할 PC에 설치한다. 데이터 이관 프로세스 데이터 전환 순서 1. Create Table - Target DB에 Staging Table 생성. CREATE TABLE dbo.ZMIG_table_name 2. export - Source DB에서 데이터 추출해서 table_name.txt 파일로 생성 3. export data - table_name.txt 파일 저장 경로 4. clear import table - Target DB에 Staging Table 클리어. TRUNCATE TABLE dbo.ZMIG_table_name 5. import..
개발배경(요구사항) 웹사이트의 로그인 일시를 사용자의 타임존에 맞게 변경해서 보여줘야한다. DB에 저장되는 [로그인일시]는 한국시간(Asea/Seoul, GMT +09:00) 이다. 예)싱가폴 법인 사용자가 싱가폴시간 2018-12-16 15:00 에 로그인하고 나중에 타임존을 미국캘리보니아로 변경하면 접속일시를 모두 미국시간으로 보여준다. 즉. DB에 저장된 로그인 시간은 한국시간(Asea/Seoul, GMT +09:00) 2018-12-16 16:00 싱가포르 2018-12-16 15:00(1시간차) 미국 캘리포니아 2018-12-15 23:00 (16시간차) =>db설계시 로그인기록에 한국시간, 타임존,표준시간 저장. 컬럼명 값 ----------------------------- ---------..
아래 National JDBC 를 사용하면NVARCHAR 쿼리문에서 N을 사용안해도 되는 듯 합니다. insert into dbo.ZTEST_NVARCHAR values('Hello', N'Tạm biệt'); /*영어, 베트남어*/ #시스템 별 기존 jdbc와 비교 검토 필요National JDBC(jdbc.njtds.sqlserver) 를 사용해도 안정성에 문제가 없는지 확인. # National JDBCjdbc.njtds.sqlserver #참고 사이트https://force44.blog.me/221166983718
/************************************** MSSQL 다국어 지원을 위한 환경설정 #COLLATE #LANGUAGE #CHARTERSET - 작업내용 . @@language 가 '한국어' 인지 확인 . collation_name 이 'Korean_Wansung_CI_AS' 인지 확인 **************************************/ USE master GO /***************** 언어확인 *****************/ select @@language ; ------------- 한국어 /***************** collation_name 확인 *****************/ SELECT collation_name FROM sys.d..
# T_TEST 테이블에 데이터가 아래와 같이 저장되어 있고 type NET NET REG OUT OUT OUT # type 별 합을 구하고 행을 열로 표시하고 싶다. NET REG OUT 2 1 3 # 쿼리문 SELECT [NET], [REG],[OUT] FROM ( SELECT a.type ,COUNT(*) AS cnt FROM [dbo].[T_TEST ] a GROUP BY a.type ) AS iv1 PIVOT ( MIN(cnt) FOR type IN ([NET], [REG],[OUT]) /*꼭 대괄호[]로 묶어줘야 합니다*/ ) iv2
출처 http://www.sqlines.com/oracle/function_based_indexes SQL Server: -- Define a table CREATE TABLE cities ( name VARCHAR(90), state CHAR(2), notes VARCHAR(90) ); -- Insert some data INSERT INTO cities VALUES ('Houston', 'TX', '4th largest city in the US, and the largest city in Texas'); INSERT INTO cities VALUES ('Seattle', 'WA', 'the largest city in the Pacific Northwest'); -- Create index (non..