목상치
728x90

'전체 글'에 해당되는 글 120건

  1. 2021.07.16 근속년수 구하기-ms sql
  2. 2021.06.12 내 업무를 대신 할 파이썬 웹크롤링 & 자동화 01
  3. 2021.05.25 스프링부트와 AWS로 혼자 구현하는 웹서비스02
목하치
반응형
728x90

그분이 교육 전략을 잡기 위해서 직원들의 근속년수(년단위 소수점형태로 )을 달라고 하셨다. 그런데 자주사용하던 게 아니라 인터넷 서치해보니 datediff를 사용하면 된다고.. 생각해보면 날짜차이값 함수 찾고, 소수점 되는 방안 찾고, 1개 데이터 쿼리해보고, 전체 직원으로 조건 확대하는 순을 하면 될 것 같다. 

1) 날짜 차이값함수 : datediff  (함수 보기)

select DATEDIFF(year,getdate()-365,getdate()) as '1년전', DATEDIFF(year,getdate()-365-180,getdate()) as '1.5년전'

그런데 소수점이 안되네. 이런 기준을 월로 바꾸어 보면 

select DATEDIFF(month,getdate()-365,getdate()) as '1년전', DATEDIFF(month,getdate()-365-180,getdate()) as '1.5년전'

이를 12개월로 나누면..

select DATEDIFF(month,getdate()-365,getdate())/12 as '1년전', DATEDIFF(month,getdate()-365-180,getdate())/12 as '1.5년전'

앗 똑같네.  

2) 소숫점 방안 : convert (함수 설명)

평소 하던 convert로 씌워주었더니 

 select convert(float,DATEDIFF(month,getdate()-365,getdate())/12) as '1년전', convert(float,DATEDIFF(month,getdate()-365-180,getdate())/12) as '1.5년전'

 

왜 소수점이 아니지..!!😕😕😕😕😕😕😕😕😕😕😕

아 형변환후 나누면 ??

 select convert(float,DATEDIFF(month,getdate()-365,getdate()))/12 as '1년전', convert(float,DATEDIFF(month,getdate()-365-180,getdate()))/12 as '1.5년전'

참고로 int로 하면 결과 동일함

그런데 2년 직전 (즉 오늘 기준 20년 7월 12일)으로 보면 반올림해버리네 안되는데...

 

찾아보니 decimal이 낫다고 하시네 

select convert(decimal,DATEDIFF(month,getdate()-365-360,getdate()))/12 as '2년 직전',convert(decimal,DATEDIFF(month,getdate()-365-324,getdate()))/12 as '1.9년전'

아직 5일 남았는데 반올림 하네

 

3) 반올림 방지 및 버림 처리 (함수 설명)

4 ) 최종 쿼리

select avg(convert(decimal,DATEDIFF(month,reg_dt,getdate()))/12)  as '평균근속년수' from employee (nolock)

 

참조 

https://docs.microsoft.com/KO-kr/sql/t-sql/functions/datediff-transact-sql?view=sql-server-ver15 

 

DATEDIFF(Transact-SQL) - SQL Server

DATEDIFF 함수의 Transact-SQL 참조입니다. datepart를 기준으로 시작 날짜와 종료 날짜 사이의 숫자 차이를 반환합니다.

docs.microsoft.com

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver15 

 

CAST 및 CONVERT(Transact-SQL) - SQL Server

CAST 및 CONVERT 함수의 Transact-SQL 참조입니다. 해당 함수는 특정 데이터 형식의 식을 다른 데이터 형식으로 변환합니다.

docs.microsoft.com

 

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/round-transact-sql?view=sql-server-ver15 

 

ROUND(Transact-SQL) - SQL Server

ROUND(Transact-SQL)

docs.microsoft.com

 

728x90

'데이터엔지니어 > SQL' 카테고리의 다른 글

oracle 쿼리시 declare 사용해보기  (0) 2023.08.23
SQL쿼리-07조인  (0) 2020.02.17
SQL 쿼리05-집계  (0) 2020.02.16
SQL 쿼리04-데이터 조작  (0) 2020.02.15
SQL 쿼리03-정렬  (0) 2020.02.15
Posted by 댕기사랑
,
728x90

내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)

 01 오리엔테이션

수업목표 : 웹크롤링 기반 자동화로 데이터 수집 아무거나, 원리 기반 문제해결능력 함양, 실전 기반 예제 중심 및 시너지 효과

주요 강의 내용 : 웹/인터넷 작동방식, 파이선으로 웹크롤링(Requests), RESTful API, 파이썬으로 웹크롤링(셀레니움) [라즈베리파이로 24X365)

선수과목 ㅣ 누구나 배울수 있는 파이썬, 판다스 주식 퀀트투자 파트1등, 그외는 부분 공개했으므로, 아나콘다 가상환경 관련영상(가상환경 설정 및 요구사항txt설치)

내가 이런 컴퓨터 막노동을 왜하지 컴을 시키자

 

02 웹과 인터넷

웹은 인터넷 (서비스) 중 하나.

IP(기기별 식별 번호)와 DNS(숫자기반 IP를 쉽게 도메인주소로 매핑, 즉 전화번호부)

서버(서비스를 하는 컴퓨터)와 클라이언트(사용자가 사용하는 컴퓨터로 서버에 요청을 하는 주체)

HTTP(Hypertext Transfer Protocol)와 Request&Response(request lin/Status lein +헤더+바디)

http method(GET, POST, DELETE, PUT, HEAD, OPTION)
; GET - 데이터 획득/조회하는 것으로 요청시 필요정보가 주소에 붙음(https이 헤더)
POST- 데이터 전송/변경/생성, html <form> tag에 입력된 데이터를, http 메시지바디에

크롬 개발자도구
Element, html(뼈대)+css(꾸며지는것)+js(프로그램) 
Network- 서버와 주소받는 시퀀스

03 웹사이트 3대 구성요소

 

 

728x90
Posted by 댕기사랑
,
728x90

스프링부트와 AWS로 혼자 구현하는 웹서비스02

목표 : 첫 스터디전 끝장보고 실습완료하기 (5/24 ~ 6/3 매일 1장씩완료)

구성 : 11장, 자바 8, 그래들 4.8 ~ 4.10.2

소스 : https://github.com/jojoldu/freelec-springboot2-webservice

 


02 스프링부트에서 테스트코드를 작성하자(51~

테스트코드는 필수라고 하는데 TDD 기본으로 개발전 테스트코드 부터 생성하는 것이고 유닛테스트는  기능단위의 테스트코드를 작성하는 것..  여기선 단위테스트 코드 만드는 것을 다루며  코드 작성하여 결과 찍어보는 것을 말하는 것이 아닌 것 같다.

run 'hello가_리턴되다() 안보임

 

우와 에러 나도 ㅣ되네

 

 

 

 

728x90

'서자' 카테고리의 다른 글

Kafka, 데이터플랫폼의 최강자(2018년)  (0) 2020.09.05
Posted by 댕기사랑
,