본문 바로가기

Developer/DataBase

MSSQL SSMS 입력 시 자꾸 다른 문자로 변환될 때(한글 혹은 반자) 마이크로소프트 MS-Sql 사용을 위해 쓰는 기본툴인 ssms를 사용하다 보면 키 입력 오류가 자주 발생합니다. 주로 피씨 재부팅 잘 안하고 오래 쓰면 많이 발생하는 것 같기는 합니다만 원래 피씨를 켜놓고 출퇴근 하는지라..ㅎㅎ 예전에는 자꾸 한글로만 바뀌었는데 요즘에는 이상한 글자로도 바뀌어서 적어 놓습니다. 예전부터 그랬는데 아직도 이러는 걸 보면 마이크로소프트에서는 업데이트 할 생각이 없는 것 같네요. 귀찮기는 하지만 어렵지 않으니 적어놓고 가겠습니다. 저의 경험에 따르면 오류가 나는 경우는 크게 두가지 입니다. 1. 영문으로 쿼리를 짜고 실행(F5)를 하고 다시 입력 할 때 한글로 입력됨. 2. 1번과 비슷한데 반자(?)인지 글자 간격이 크고 영문으로 보이지만 쿼리 실행은 안되는 형태로 입력됨. .. 더보기
[MSSQL] 자주 쓰는 단축키 지정, 모음 MSSQL을 사용할 때는 마이크로소프트에서 제공하는 SSMS(Microsoft SQL Server Management Studio)만한 프로그램이 없기 때문이 많은 사람들이 SSMS를 사용합니다. 사용하면 편리할만한 단축키를 정리하고 단축키를 이용해서 쿼리를 지정하는 방법을 정리해 보도록 하겠습니다. 1. 주요 단축키 리스트 단축키 실행 내용 파일열기 CTRL + O 새쿼리창 열기 CTRL + N 등록된 서버창 열기 CTRL + ALT + G 개체탐색기 열기 F8 쿼리 실행 F5 결과창 열기/닫기 CTRL + R 테이블 정보보기 ALT + F1 주석 처리 CTRL + K + C 주석 해제 CTRL + K + U 대문자로 변환 CTRL + Shift + U 소문자로 변환 CTRL + Shift + L 그리.. 더보기
[MS-SQL] 컬럼 합치는 방법 3가지(STUFF, STRING_AGG) 데이터베이스에서 쿼리를 실행하면 결과값은 보통 여러 행으로 나오게 됩니다. 컬럼으로 나오면 컬럼끼리 합치는 게 간단하지만 여러 행으로 나온 같은 컬럼을 합치기 위해서는 별도로 처리를 해줘야 합니다. 통계페이지 같은 경우 은근히 사용하게 되는 거 같네요. 함수를 사용하는 방법도 있고, 반복구문을 돌려서 하는 방법도 있고 해서 정리해 봅니다. 먼저 테스트 할 임시테이블과 데이터를 만들겠습니다. 필요없으신 분은 바로 아래로 스크롤 하세요~~ㅋ CREATE TABLE #TMP ( Teams NVARCHAR(10), PlayerName NVARCHAR(10), BackNo INT, IsRetire CHAR(1) ) INSERT INTO #TMP VALUES('LG', '김현수', 22, 0) INSERT INTO.. 더보기
[MS-SQL]프로시저, 테이블명 검색 데이터베이스를 사용할 때 프로시저나 테이블 명을 검색해야 하는 경우가 있습니다. 프로시저나 테이블 명 검색하는 쿼리를 정리해 보겠습니다. 프로시저 ID를 확실하게 알고 있다면 SP_HELPTEXT '프로시저 ID' 로 프로시저 내용을 확인할 수 있습니다. 하지만 정확한 명칭을 모를 경우에 검색하는 법을 확인 해보겠습니다. 1. 프로시저 관련 검색방법 프로시저 명칭으로 찾기 SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME LIKE N'%프로시저명칭%' 특정 테이블이나 뷰를 참조하는 프로시저 찾기 SELECT object_name(id) from syscomments where text lik.. 더보기
MS-SQL 날짜 형태 변환함수 정리 MS-SQL에서 기본적으로 GETDATE()함수를 이용해서 날짜를 추출하게 됩니다. 그러면 결과값이 “2019-12-06 17:07:50.460”형태로 나오게 됩니다. 하지만 웹에서는 저런형태를 잘 사용하지 않기 때문에 웹에서 사용하는 형태로 변환해 줄 필요가 있습니다. 그래서 자주 사용하지만 잘 까먹는 옵션값을 정리합니다. 명령어 결과값 SELECT CONVERT(VARCHAR, GETDATE(), 23) 2019-12-06 SELECT CONVERT(VARCHAR, GETDATE(), 24) 13:31:02 SELECT CONVERT(VARCHAR, GETDATE(), 101) 12/06/2019 SELECT CONVERT(VARCHAR, GETDATE(), 102) 2019.12.06 SELECT .. 더보기
MS-SQL 날짜함수 형식 변환 MS-SQL에서 기본적으로 GETDATE()함수를 이용해서 날짜를 추출하게 됩니다. 그러면 결과값이 “2019-12-06 17:07:50.460”형태로 나오게 됩니다. 하지만 웹에서는 저런형태를 잘 사용하지 않기 때문에 웹에서 사용하는 형태로 변환해 줄 필요가 있습니다. 그래서 자주 사용하지만 잘 까먹는 옵션값을 정리합니다. 명령어 결과값 SELECT CONVERT(VARCHAR, GETDATE(), 23) 2019-12-06 SELECT CONVERT(VARCHAR, GETDATE(), 24) 13:31:02 SELECT CONVERT(VARCHAR, GETDATE(), 101) 12/06/2019 SELECT CONVERT(VARCHAR, GETDATE(), 102) 2019.12.06 SELECT .. 더보기
SQL Admin Tip 새로운 암호 설정(계정잃어 버렸을때..) sp_password @new = 'newpasswd', @loginame = 'sa' 많이 실행되는 쿼리 찾기(단, 오래된 기록은 남아있지 않음..) select top 50 * from sys.dm_exec_query_stats 쿼리내용 확인(위에서 찾은 쿼리의 암호화를 풀어줌) select * from sys.dm_exec_sql_text(0x03000900694DB5083E648B01D69900000100000000000021) 실행커서 찾기 USE master; GO SELECT c.creation_time ,cursor_id ,name ,c.session_id ,login_name FROM sys.dm_exec_cursors(0) AS c JOIN sy.. 더보기
Case구문 간단 정리 ■ Case 조건 목록을 평가하고 가능한 여러 결과 식 중 하나를 반환합니다. CASE 식에는 두 가지 형식이 있습니다. 단순 CASE 식은 특정 식을 일련의 단순 식과 비교하여 결과를 결정합니다. 검색된 CASE 식은 일련의 부울 식을 평가하여 결과를 결정합니다. 두 가지 형식 모두 선택 사항인 ELSE 인수를 지원합니다. CASE는 유효한 식이 허용되는 모든 문 및 절에 사용할 수 있습니다. 예를 들어 SELECT, UPDATE, DELETE 및 SET과 같은 문과 select_list, IN, WHERE, ORDER BY 및 HAVING과 같은 절에 CASE를 사용할 수 있습니다. 여기서 간단한 팁은 Where 절과 Having 절에 Case를 사용할 수 있다는 것이다. ex> --Having 절 .. 더보기