개발 관련/MS-SQL
-
LEN 함수와 DATALENGTH 함수 차이개발 관련/MS-SQL 2014. 3. 10. 20:11
LEN(문자열) LEN 함수는 입력 문자열의 문자 개수를 출력 (문자열의 바이트 수를 출력하지는 않는다.) 일반 문자형 유형을 쓰는 경우, 각 문자당 1바이트의 저장 공간을 사용하지만 유니코드의 경우 하나의 글자를 저장하는데 2바이트의 저장 공간을 사용한다. 또한 LEN 함수는 끝에 공백이 있을 경우 공백은 계산하지 않는다. DATALENGTH(문자열) DATALENGTH 함수는 바이트 수의 정보를 얻기 위해서 사용. LEN 함수와 다르게 끝에 공백이 있을 경우 공백까지 계산한다. -- 5를 반환 SELECT LEN(N'abcde'); -- 10을 반환 SELECT DATALENGTH(N'abcde'); 더 자세한 사항은 LEN, DATALENGTH 의 MSDN에서 확인.
-
ROLLUP개발 관련/MS-SQL 2013. 10. 30. 14:17
ROLLUP 단순 GROUP BY 집계 행과 부분합 또는 상위 집계 행은 물론 총합계 행을 생성합니다. 반환되는 그룹화 수는 의 식 수에 1을 더한 값과 같습니다. SELECT * from T_GROUPING아래와 같은 테이블이 있고 T_NUM 값의 합계를 구하고 싶을 때 ROLLUP을 사용하면 된다. (ROLLUP을 모를 때는 임시 테이블을 이용해서 데이터를 합한후에 INSERT를 했을 거 같다.) SELECT ISNULL(T_NAME, '합계') AS T_NAME, SUM(T_NUM) AS T_NUM from T_GROUPING GROUP BY ROLLUP(T_NAME) ORDER BY T_NUM 실제로 사용해보니 굉장히 편하게 처리 할 수 있을 듯 하다. 또한 장점으로 생각되는게 통계부분에서 사용한..
-
INF: Transaction Isolation Level을 이해하기개발 관련/MS-SQL 2013. 1. 9. 10:51
요약이 문서는 한 세션 상의 모든 SELECT 문장에 대한 디폴트 트랜잭션 잠금 동작을 제어하는 Transaction Isolation Level에 대하여 설명합니다.위로 가기 | 피드백 보내기추가 정보트랜잭션에서 일관성이 없는 데이터를 허용하도록 하는 수준을 Isolation Level이라고 합니다. 예를 들어, 한 사용자가 어떠한 데이터를 수정하고 있는 경우 다른 사용자들이 그 데이터에 접근하는 것을 차단함으로써 완전한 데이터만을 사용자들에게 제공하게 됩니다. 또한, 많은 사용자들의 수정 작업으로 인하여 통계 자료를 작성할 수 없는 사용자를 위하여 읽기 작업을 수행할 수 있도록 Isolation Level을 변경할 수 있습니다. ANSI에서 작성된 SQL-92 표준은 네 종류의 Isolation Le..
-
데이터베이스 이관시 로그인 맵핑 문제개발 관련/MS-SQL 2010. 7. 9. 11:44
데이터베이스 이관 작업시 로그인 계정과 데이터베이스 User간에 맵핑을 함에 있어서 문제가 발생하여 기록. 아래는 쿼리의 DB 구성은 1. Wizen_Master 데이터베이스의 User : wizen_master 2. Wizen_SeoulMilk 데이터베이스의 User : wizen_master, wizen_seoulmilk USE [WIZEN_MASTER] GO --로그인 계정 생성 CREATE LOGIN WIZEN_MASTER WITH PASSWORD = '12345' GO --로그인 계정에 연결안된 사용자 조회 EXEC SP_CHANGE_USERS_LOGIN 'report' GO --로그인계정과 사용자 연결. EXEC SP_CHANGE_USERS_LOGIN 'update_one','wizen_mas..
-
Table 수정개발 관련/MS-SQL 2009. 10. 13. 15:42
USE TABLEDB -- 컬럼 추가 ALTER TABLE USERTBL ADD HOMEPAGE NVARCHAR(30)-- 열추가 DEFAULT 'HTTP://' -- 디폴트 값 NULL -- NULL 허용 -- 컬럼 삭제 ALTER TABLE USERTBL DROP COLUMN MOBILE1 -- 컬럼명 변경 EXEC SP_RENAME 'USERTBL.NAME', 'USERNAME', 'COLUMN' -- 컬럼 데이터 형식변경 ALTER TABLE USERTBL ALTER COLUMN NAME NVARCHAR(20) NULL
-
SQL Server 2005 Express Edition sqlcmd를 이용한 자동백업개발 관련/MS-SQL 2009. 10. 13. 15:39
아시는 분은 다 아시겠지만 SQL Server 2005 Express Edition 에는 스케쥴러(?)가 없기때문에 자동 백업이 안됩니다.(수동은 물론 가능하겠죠 ㅎ) 일단 프로시져부터 만들어 보죠~ 아 물론 한개의 디비만을 백업하기 위해 만드신다면 프로시져로 안만들고 바로 다음 단계로 가셔서도 괜찮습니다. 프로시져를 만드는 이유는 여러개의 디비를 백업하기 위해서죠^^ USE [데이타베이스명] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Edgewood Solutions -- Create date: 2007-02-07 -- Description: Ba..