SQL Server에서 날짜 데이터의 년, 월, 일을 추출할 때 사용하는 기본적인 함수는 YEAR, MONTH, DAY이며, 정수로 결과를 반환한다. 앞의 세 가지 함수 외에도 DATENAME, DATEPART라는 함수도 있는데 DATENAME 함수는 결과를 문자로 반환하고 DATEPART 함수는 결과를 정수로 반환한다. YEAR, MONTH, DAY 함수 사용법 SELECT YEAR(GETDATE()) AS [YEAR] , MONTH(GETDATE()) AS [MONTH] , DAY(GETDATE()) AS [DAY] 위의 세 가지 함수를 사용하여 날짜에서 쉽게 년, 월, 일을 추출할 수 있다. 그러나 반환 값이 정수이므로 문자열과 합치게 되면 오류가 발생한다. 반환 값을 문자열과 합치는 방법 SELE..
SQL Server에서 중복된 행을 제거하고 한 번만 표시하고 싶다면 DISTINCT를 사용하면 된다. 중복 행을 제거하는 방법은 DISTINCT 사용하는 방법 외에도 GROUP BY 절을 사용해서 중복 행을 제거할 수 있다. GROUP BY를 사용하면 속도가 조금 빠르다는 얘기가 있으나 큰 차이를 느끼지 못했다. GROUP BY를 사용해야 할 특별한 경우가 아니면 중복 행을 제거할 때는 DISTINCT를 사용할 것을 권장한다. DISTINCT를 사용해도 중복을 제거한 결과가 오름차순으로 정렬되어서 조회된다. (SQL Server 2019) DISTINCT DISTINCT를 사용하여 중복 제거 SELECT DISTINCT deptno, job FROM emp WHERE deptno in (20, 30) ..
아이폰 기본 시계 앱에서 알람은 무음이 가능하지만 타이머는 무음이 불가능하다. 아이폰이 진동 모드인 경우 타이머가 진동만 울리도록 하기 위해서는 무음 벨소리를 만들어서 추가해 주면 된다. 아래 첨부된 무음 벨소리를 다운로드한 다음 PC 아이튠즈를 통해서 쉽게 넣을 수 있지만 PC 아이튠즈를 사용하지 않는다면 아이폰의 가라지밴드 앱을 통해서 벨소리를 만들어서 사용할 수 있다. 아이폰 자체에서 무음 벨소리를 만드는 과정이 조금 복잡하기는 하지만, 아래의 순서대로 한 단계씩 따라 하면 의외로 쉽게 무음 벨소리를 만들 수 있다. 무음 벨소리 만드는 방법 1. 아이폰 사파리에서 아래의 무음 벨소리를 다운로드한다. 2. GarageBand 앱을 실행한다. 가라지밴드 앱은 아이폰 기본 앱 이므로 검색에서 찾거나, 삭..
SQL Server에서 문자열을 합칠 때는 CONCAT 함수와 더하기(+) 연산자를 사용한다. 문자열을 합칠 때는 되도록이면 CONCAT 함수를 사용할 것을 권장하지만, 더하기 연산자를 사용하는 것이 더 익숙하기 때문에 더 많이 사용하는 듯하다. 더하기 연산자를 사용할 때는 주의사항이 있으니 아래를 참고하기 바란다. CONCAT 함수 사용하여 문자열 합치기 SELECT CONCAT('SQL', 'Server', '2019') AS str1 , CONCAT(2021, 12, 31, 23, 59, 59) AS str2 CONCAT 함수는 많은 데이터베이스에서 사용 가능한 ANSI SQL 함수이며, CONCAT 함수에 입력된 값은 문자형으로 변환 후 합치는 작업이 이뤄진다. 숫자와 문자가 함께 입력되어도 오류..
SQL Server에서 문자열을 자르기 위해서는 SUBSTRING, LEFT, RIGHT 세 가지 함수를 사용할 수 있다. 오라클에서는 SUBSTR 함수 하나로 위의 세 가지 함수 기능을 모두 할 수 있지만, SQL Server에서는 위의 세 가지 함수를 적절히 잘 사용해야 한다. SUBSTRING("문자열", "시작위치", "길이") : 지정한 위치에서 지정한 문자열 길이만큼 자를 때 사용 LEFT("문자열", "길이") : 왼쪽에서부터 지정한 문자열의 길이만큼 자를 때 사용 RIGHT("문자열", "길이") : 오른쪽에서부터 지정한 문자열의 길이만큼 자를 때 사용 기본 사용법 SUBSTRING 함수 SELECT SUBSTRING('SQL Server 2019', 1, 3) AS str1 , SUBST..
SQL Server에서는 조건에 따라 서로 다른 값을 반환할 수 있는 CASE 표현식을 사용할 수 있다. 프로그래밍 언어에서 if 문과 비슷하다고 생각하면 된다. 오라클의 DECODE 함수와 비슷한 기능을 하며, CASE 표현식은 ANSI SQL 이므로 대부분의 데이터베이스에서 동일하게 사용할 수 있다. CASE 표현식은 if 문 방식과 swith 문 방식으로 사용할 수 있다. 주로 if 문과 유사한 방식으로 많이 사용하지만 상황에 따라서 swith 문 방식으로 사용하면 쿼리문을 단순화시킬 수도 있을 듯하다. 기본 사용법 if 문 방식 SELECT employee_id , first_name , job_id , CASE WHEN job_id = 13 THEN 'CLERK' WHEN job_id = 14 ..
2021년 9월 IT 세미나/컨퍼런스 일정 9월 1일(수) Upbit Developer Conference 2021 9월1일~2일 온라인 9월 2일(목) "스타트업과 ESG" 토크콘서트 13:00~15:00 온라인 9월 8일(수) 삼성SDS 온라인 컨퍼런스, REAL 2020 9월8일~9일 온라인 9월 15일(수) AI for Everyone, ai.x 2021 9월15일~16일 온라인 9월 25일(토) 제10회 넷마블 게임콘서트 11:00~16:00 온라인 9월 25일(토) DroidKnights 2021 13:00~18:00 온라인 9월 25일(토) 우부콘 아시아 2021 9월25일~26일 온라인 9월 28일(화) 2021 스마트클라우드쇼 9월28일~29일 온라인 10월 2일(토) 파이콘(PYCON)..
SQL Server에서는 현재 날짜와 시간을 가져오기 위해서는 GETDATE 함수를 사용한다. 다른 데이터베이스의 SYSDATE나 NOW() 함수와 비슷하다. SQL Server 2012부터 SYSDATETIME 함수가 추가되었으며 GETDATE 함수보다 더 정밀한 시간을 반환한다. 아래는 두 함수를 간단하게 비교하여 정리한 내용이다. GETDATE() vs SYSDATETIME() SELECT GETDATE() AS [GETDATE] , SYSDATETIME() AS [SYSDATETIME] GETDATE 함수는 datetime 타입의 밀리초(3자리)를 반환한다. SYSDATETIME 함수는 datetime2 타입의 100나노초(7자리)를 반환한다. SYSDATETIME 함수가 조금 더 정밀한 시간을 ..
SQL Server 2012부터 이전 행과 다음 행의 값을 가져올 수 있는 LAG, LEAD 함수가 추가되었다. LAG 함수를 사용하면 이전 행의 값과 현재 행의 값을 비교하여 값이 변경되었는지 쿼리상에서 쉽게 판별이 가능하다. 기본 사용법 이전 행 값 (LAG) SELECT empno , ename , job , LAG(job) OVER(ORDER BY job, empno) AS job_prev FROM emp WHERE job IN ('MANAGER', 'ANALYST', 'SALESMAN') ORDER BY job, empno LEAD 함수를 사용하여 이전 행의 값을 가져올 수 있다. WHERE 절 하단의 ORDER BY의 정렬 순서와 상관없이 OVER 절 내부의 ORDER BY 기준으로 정렬 후 ..
2021년 8월 IT 세미나/컨퍼런스 일정 8월 10일(화) SW공학 Technical 세미나: SW개발 도구 및 환경 14:00~16:30 온라인 8월 15일(일) .NET Conf Mini 21.08 14:00~ 온라인 8월 17일(화) Samsung Security Tech Forum 2021 10:00~14:30 온라인 8월 19일(목) 쿠버네티스가 가능하게 해준 GitOps 15:00~17:00 온라인 8월 23일(월) 2021년 7차 전자정부 표준프레임워크 온라인 정기교육 8월23일~29일 온라인 9월 1일(수) Upbit Developer Conference 2021 9월1일~2일 온라인 9월 25일(토) DroidKnights 2021 13:00~18:00 온라인 9월 25일(토) 우부콘 ..