소리소문 없이... 사랑도 명예도 이름도 남김 없이...
DexCore.net

DataBase/SQL Server 129

탭문자 확인 및 제거

DB에서 정보를 검색해야 되는데 이상하게 검색이 안된다.. DB가 char(n) 타입이라 데이터 뒤에 공백이 붙는다. 예를들어 'aaaa' 라는 데이터를 넣으면 'aaaa ' 라는 형식으로 입력이 된다.(char 니까 당연...) 하지만 검색할때는 'aaaa', 'aaaa ', 'aaaa '... 다 되는게 정상이다... 그런데 이상하게 검색이 안되는 넘이 있었다... 문제의 발단은 txt 파일에서 정보를 읽어서 자동으로 인서트 시키는 기능이 있었는데 이 txt 파일에 aaaa 뒤에 탭 문자가 들어가 있었다. 실제로 메모장으로 열어서 커서를 이동해 보면 탭 문자 간격만큼 이동한다.. 이거 때문에 삽질 하다가 수정한 결과를 적어 본다. 우선 MSSQL 에서 Tab 문자는 CHAR(9) 다. 줄바꿈 문자는 ..

DataBase/SQL Server 2021.01.04

SQL Server Lock 확인 및 IP추적

--Lock 확인 exec sp_lock 또는 SELECT * FROM SYS.sysprocesses WHERE blocked > 0 Mode 항목이 X인것 확인 Type확인 (Lock Type) RID : 테이블의 ROW Lock (ROW LOCK) KEY : INDEX ROW LOCK.(IDENTITY 속성이 트랜잭션 범위에 있다면 LOCK) PAG : 데이터 또는 인덱스 페이지 TAB : 모든 데이터와 인덱스가 포함된 전체 테이블 DB : 데이터 베이스 이다. 출처 : https://m.blog.naver.com/supercrat/220669558749

DataBase/SQL Server 2021.01.04

SQL Server 인덱스 리빌드

-- 특정 테이블 대상으로 인덱스 리빌드를 할 경우 alter index all on xxx테이블명xxx rebuild with (pad_index = on, fillfactor = 90) ​ ​ ​ -- 전체 테이블 대상으로 리빌드 할 경우 cursor 이용 수행 declare @ii int declare @sql varchar(1000) declare @tablename varchar(1000) declare @ownername varchar(1000) ​ set @ii= 0; ​ declare db_cursor cursor for select table_schema, table_name from information_schema.tables where table_type = 'base table' ..

DataBase/SQL Server 2021.01.04

CEILING() 소수점 이하 버리기

1. 소수점 둘째 자리까지만 표현하고 싶다면 CONVERT를 이용하고 단, 소수 세째자리에서 반올림 됩니다. SELECT CONVERT(NUMERIC(5,2), '0.56789') ==> 0.57 ​ 2. 셋째 자리에서 반올림하고 둘째 자리까지 표현하고자 한다면 ROUND함수로 반올림후에 아래 함수를 이용하기를 바란다. SELECT CONVERT(NUMERIC(5,2), ROUND(0.56789, 2)) ==> 0.57 ​ 3. 이 함수는 지정한 숫자 식보다 크거나 같은 최소 정수를 반환합니다. 소수자리는 무조건 올림한다. SELECT CEILING('1234.000001') ==> 1235 ​ 출처 : https://m.blog.naver.com/muttul58/221623744783

DataBase/SQL Server 2021.01.04
728x90
반응형