본문 바로가기

전체 글34

MSSQL 날짜 함수 사용하는 방법(GETDATE,DATEADD,DATEPART,DATEDIFF) MSSQL 날짜 함수 사용하는 방법(GETDATE,DATEADD,DATEPART,DATEDIFF) MSSQL에는 날짜와 관련된 여러가지 함수들을 제공하고 있습니다. 그 대표적인 함수가 GETDATE,DATEADD,DATEPART,DATEDIFF 인데, 오늘은 MSSQL의 날짜 관련 함수에 대해 알아 보자. GETDATE 함수 GETDATE 함수는 오늘 날짜를 가지고 오는 함수이다. 정확하게 말하면 현재 컴퓨터 시스템에 설정되어 있는 시간을 불러 온다. GETDATE 함수 사용하는 방법 SELECT GETDATE() 2019-07-29 17:27:41.857 위와 같이 GETDATE 함수를 실행하면 년, 월, 일과 분,초, 밀리세컨드까지도 가지고 온다. CONVERT 함수를 사용하면 GETDATE 함수를 .. 2019. 7. 30.
MSSQL CONVERT 함수 사용하여 다양한 날짜 형식 표현하기 MSSQL CONVERT 함수 사용하여 다양한 날짜 형식 표현하기 MSSQL에서 CONVERT 함수는 데이터 형태를 변환 할 수 있는 함수이다. 즉 CONVERT 함수는 데이터를 다른 유형으로 변환할 때 사용하는 함수이다. 특히 다양한 형식의 날짜를 표현할 때 자주 사용된다. CONVERT 함수 사용하는 방법 CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) CONVERT함수 사용 예제 SELECT CONVERT(CHAR(19), GETDATE(), 20) 2019-07-29 17:27:41 오늘 날짜를 YYYY-MM-DD HH:MM:SS 형태로 표현할 수 있다. * GETDATE 함수 GETDATE 함수는 오늘 날짜를 연, 월, 일, 시, 분.. 2019. 7. 29.
MSSQL LOCK 해결하는 방법 MSSQL LOCK 해결하는 방법 우리가 데이터베이스에 엑세스하다 보면 조회 속도가 현저하게 느려지거나 아예 엑세스 자체도 불가능할 때도 있다. 이런 경우 LOCK를 의심해 봐야 하는데 오늘은 이런 LOCK를 확인하고 해결하는 방법을 알아보자. LOCK은? LOCK은 잠금을 의미하는데 어떤 데이터베이스 자원에 대해 자신이 사용하고 있음을 표시는 것이다. 즉 자신이 사용하고 있으므로 다른 사용자 연결에 대하여 엑세스를 제안하게 되는 것이다. 결국 변경 중인 데이터에 대하여는 읽을 수 없게 하거나 수정할 수 없게 하여 데이터의 일관성을 유지하기 위함이다. LOCK 즉 잠금은 결국 동시성에 대한 문제로 누군가 자원을 먼저 사용하고 있다면 어떤 형태로든 잠금을 설정하여 여러 사용자가 동시에 같은 데이터를 변경할.. 2019. 7. 29.
MSSQL 데이터베이스 접속자 및 연결 정보 확인하는 방법 MSSQL 데이터베이스 접속자 및 연결 정보 확인하는 방법 우리가 MSSQL을 사용하다보면 데이터베이스에 현재 몇명이 접속해있고, 누가 접속해 있는지, 또는 어떤 IP로 접속했는지 확인이 필요할 때가 있다. 이럴 때 간단하게 확인해 볼 수 있는 방법에 대해 알아보자. 현재 데이터베이스에 접속중인 접속자 수 확인하는 방법 SELECT DB_NAME(dbid) as DB이름, COUNT(dbid) as 접속자수 FROM sys.sysprocesses WHERE dbid > 0 GROUP BY dbid 쿼리를 실행하면, 현재 접속중인 접속자 수를 데이터베이스별로 알려준다. 현재 데이터베이스에 접속중인 연결 정보 확인하는 방법 SELECT S.spid, S.loginame, S.login_time, S.last.. 2019. 7. 26.
MSSQL JOIN 사용하는 방법 MSSQL JOIN 사용하는 방법 MSSQL 뿐만 아니라 다른 DB에서도 여러 테이블을 하나의 테이블인 것 처럼 활용하는 JOIN 기능이 있다. 오늘은 MSSQL에서 JOIN 사용하는 방법에 대하여 알아보자. MSSQL에서 JOIN은? 두 개 이상의 여러 테이블을 연결하여 하나의 테이블로 합쳐서 데이터를 검색하는데 방법이다. 즉 여러개의 테이블을 마치 하나의 테이블인 것 처럼 활용하는 방법이다. 보통 Primary key나 Foreign key로 테이블들을 연결하며, 적어도 하나의 컬럼은 서로 공유되고 있어야 한다. JOIN의 종류로는 INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN등이 있습니다. JOIN 사용하는 방법 SELECT [테이블.. 2019. 7. 25.
살아있는 화석, 투구게의 비밀 생명을 유지하는데 가장 중요한 요소는 바로 '피' 생명을 유지하는데 가장 중요한 요소 중의 하나는 '피', 바로 혈액이다. 인간의 몸에는 약 8%의 혈액이 존재한다. 심장에서 출발한 혈액이 혈관을 돌고 돌아 다시 심장으로 돌아오는 걸리는 시간은 1분이다. 혈액이 붉은 색으로 보이는 이유는? 우리 몸의 '피' 즉 혈액이 붉게 보이는 이유는 바로 '헤모글로빈(hemoglobin)' 때문이다. 헤모글로빈 속에 있는 '철(Fe)'이 산소와 반응해 빨간색을 나타내기 때문이다. 포유류의 혈액은 모두 붉은 색이고, 생선과 같은 어류 또한 붉은 색의 피를 갖고 있다. 혈액은 붉은 색만 있는게 아니예요!! 그런데 모든 생물이 붉은 색의 피를 가지고 있는 것은 아니다. 혈액의 색은 산소를 운반하는 단백질에 따라 다르게 나.. 2019. 7. 25.
주소검색 API를 활용하여 주소 검색 기능 구현하기(팝업 API) 일반적으로 회원가입 시 주소 검색 기능은 필수로 들어가야 하는 요소 중에 하나이다. 예전에는 우체국 DB를 활용하여 자체 주소 DB를 만들었다. 하지만 도로명 주소가 전면적으로 시행 되면서 지번과 도로명 주소의 빈번한 수정과 추가로 최신 DB를 유지하는데 어려움이 많다. 따라서 별도의 주소 DB 구축 없이 도로명주소가 자동으로 업데이트 되는 주소 검색 기능이 필요하다. 별도의 주소 DB 구축 없이 도로명주소가 자동으로 업데이트 되는 주소 검색 API를 활용하면 주소 검색 기능을 구현할 수 있는데, 대표적으로 행정안정부에서 제공하는 도로명주소API와 우체국에서 제공하는 OPEN API, 다음 카카오톡에서 제공하는 우편번호 서비스 등이 있다. 그 중에서 행정안저부에서 제공하는 도로명주소API(팝업 API)를.. 2019. 7. 24.
컴퓨터 비프음에 따른 고장 진단법 컴퓨터 비프음에 따른 고장 진단법 컴퓨터를 부팅하다보면 삐 삐 삐삐삐~~~ 소리와 함께 가끔은 부팅을 하지 못 할때가 있다. 컴퓨터는 자신만의 방식으로 자신의 상태를 알려주는데... 이럴 때 당황하지 않고 주의 깊게 들어보면 현재의 컴퓨터 상태를 알 수 있다. 그 중 하나가 바로 비프음인데, 보통 길이와 횟수로 오류를 표시한다. 이런 비프음은 메인보드 바이오스 제작사에 따라 각각 다른데, 일반적으로 AMI BIOS와 Award BIOS를 가장 많이 사용한다. AMI BIOS(American Megatrends) BIOS 1번 : 정상부팅. 2번 : 패리티 체크 실패로 메모리 확인이 필요. 램 청소나 테스트, 소켓 테스트, 램 교체 등을 한다. 3번 : 기본 메모리 체크 실패. 램 청소나 테스트, 소켓 테.. 2019. 7. 19.
MSSQL ISNULL / ISNUMERIC / ISDATE 함수 사용방법 MSSQL ISNULL / ISNUMERIC / ISDATE 함수 사용방법 ISNULL / ISNUMERIC / ISDATE 함수는? ISNULL 함수는 특정 컬럼이 NULL 일 경우 NULL인 경우 다른값으로 대체할 수 있는 함수이다. ISNUMERIC 함수는 특정 컬럼이 숫자인지 아닌지를 확인하는 함수이다. ISDATE 함수는 특정 컬럼이 날짜인지 아닌지를 확인하는 함수니다. ISNULL / ISNUMERIC / ISDATE 함수 사용방법 ISNULL('[컬럼명]', '[NULL일때 대체값]') ISNUMERIC('[컬럼명]') ISDATE('[컬럼명]') 예제 1. '신청TABLE'을 조회하되 'NAME' 컬럼이 NULL 이면 '신청인 없음'으로 표시하기. SELECT ISNULL(NAME,'신청인.. 2019. 7. 17.
MSSQL NULL은 존재하지 않는 값? MSSQL NULL은 존재하지 않는 값? NULL 값은 아직 정의 되지 않아 데이터를 알 수 없거나 해당 사항이 없는 경우, 나중에 추가됨을 나타는 값으로 아직 알 수 없다는 의미이다. 0과 공백('')과 NULL 0과 공백('')과 NULL 다른 의미이다. 0은 숫자로 '0' 이과, 공백('')은 하나의 문자이지만 비어 있는 값이고, NULL은 unknown 또는 N/A(not applicable)이라는 의미로 알 수 없거나 존재하지 않는 값을 의미한다. MSSQL과 오라클에서의 NULL 오라클의 경우 공백('')을 VARCHAR2 데이터 타입에 INSERT를 하면 자동적으로 NULL로 바꿔서 저장한다. 즉 오라클에서는 공백('') 문자열이 저장되는 것을 허용하지 않고 NULL로 처리한다. 또한 오라클.. 2019. 7. 12.
MSSQL CASE WHEN 사용하는 방법 MSSQL CASE WHEN 사용하는 방법 CASE WHEN 구문 프로그래밍 언어의 IF문과 같은 조건절로 조건별로 다른값을 표시할 수 있도록 하는 구문을 말한다. MSSQL CASE WHEN 사용 방법 CASE WHEN [조건절] THEN [참일 때 값] ELSE [거짓일 때 값] END [컬럼명] MSSQL 다중 CASE WHEN 사용 방법 CASE WHEN [조건절1] THEN [참일 때 값] WHEN [조건절2] THEN [참일 때 값] WHEN [조건절3] THEN [참일 때 값] ELSE [조건에 맞는 것이 없을 때 값] END [컬럼명] 사용 예 SELECT *, (CASE WHEN 점수 >= '90' THEN 'A' WHEN (점수 >= '80' AND 점수 < '90') THEN 'B' .. 2016. 12. 21.
MSSQL 저장 PROCEDURE (프로시저) 사용하는 방법 MSSQL 저장 PROCEDURE (프로시저) 사용하는 방법 저장 PROCEDURE (프로시저)란? MSSQL에서는 일련의 퀴리를 마치 하나의 함수처럼 실행할 수 있는 저장 PROCEDURE (프로시저) 라는 기능이 있다. 저장 PROCEDURE (프로시저)를 사용하게 되면 여러 SQL문을 실행 할 수 있어 네트워크에 대한 부하를 줄일 수 있으며, 미리 구문 분석 및 내부 중간 코드로 변환을 끝내야 하므로 처리 시간이 줄어든다. 또한 응용 프로그램 측 로직을 가지지 않고도 데이터베이스의 데이터 앞뒤가 맞게 될 수 있다. 1. PROCEDURE (프로시저) 만드는 방법 CREATE PROCEDURE [dbo].[프로시저명] @변수이름 int (ex, @NAME VARCHAR(20), @COMPANY NVA.. 2016. 12. 21.