DataBase/MySQL 2019.07.09 14:37

MySQL은 Oracle과 다르게 표준으로 제공하는 Julian 지원함수가 없음

 

줄리안 날짜(Julian Day or Julian Data)

[의미]
쥴리안 일자는 1583년에 조셉 스캘리저에 의해 발명된 방법으로 7,980년 동안 그 주기가 시작하는 날로부터 특정 일자까지 경과된 일수를 말한다. 
이러한 체계의 목적은 어떤 날짜와 다른 날짜간의 차이를 정수로 표현함으로써 계산하기 쉽게 하기 위한 것이다. 
7,980년이라는 주기는 몇 가지 전통적인 시간주기(태양, 달, 및 특별한 로마의 세금주기 등)를 조합하여 공통의 배수인 7,980이라는 숫자가 도출되었다. 
쥴리안 일자의 주기는 첫 번째 날짜는 기원전 4,713년 1월 1일이며, 서기 3,268년 1월 22일에 끝나도록 되어있다. 
그 이후의 날들은 두 번째 쥴리안 일자 기간(또는 또다시 시작될 7,890일 주기)의 첫날부터 시작될 것이다. 

1998년 2월 28일의 특정한 시간에 대한 쥴리안 일자는 다음과 같이 표현된다. 

2450873.172719 

여기서 2,450,873은 쥴리안 일자의 시작으로부터 그날까지 경과된 날수를 의미하며, ".172719"는 그날의 시간을 나타낸다. 
쥴리안 일자라는 명칭이 조셉 스캘리저의 아버지인 쥴리어스 캐사르 스캘리저 때문에 붙여진 것인지, 또는 율리우스력(Julian calendar) 이후에 붙여진 것인지는 확실치 않다. 
쥴리안 일자는 천문학에서 널리 사용된다. 

컴퓨터 프로그래밍에서 일반적으로 말하는 쥴리안 일자는, 특정한 연도의 시작으로부터 경과된 일수를 의미하는 것으로, 의미가 원래에 비해 와전되었다. 
예를 들어, 이러한 용례에서 1998년 2월 28일에 대한 쥴리안 일자는 "59"가 된다.

 

-- 테스트 시간 
SELECT NOW();
-- 결과: '2019-07-09 14:00:22'

--  DATE 타입 --> CHAR 타입 변경: Julian Day
SELECT TO_DAYS(NOW())+1721060;
-- 결과: '2458674'

--  CHAR 타입 변경: Julian Day --> DATE 타입
SELECT FROM_DAYS(2458674 -1721060);
-- 결과: '2019-07-09'

-- 8시간 빼기
SELECT DATE_SUB(NOW(), INTERVAL 8 HOUR);
-- '2019-07-09 06:12:41'

SELECT TO_DAYS(DATE_SUB(NOW(), INTERVAL 8 HOUR))+1721060;
-- 결과: '2458674'

SELECT MOD(TO_DAYS(DATE_SUB(NOW(), INTERVAL 8 HOUR))+1721060, 4);
-- 결과: 2

posted by choiwonwoo

댓글을 달아 주세요

DataBase/MySQL 2019.07.09 14:34

-- 1) DATE 타입  
SELECT NOW() FROM DUAL; 
-- 결과: '2019-07-09 14:20:34'

-- 2) DATE 타입 --> CHAR 타입 변경 
SELECT DATE_FORMAT(NOW(), '%Y%m%d%H%i%s') FROM DUAL; 
-- 결과: '20190709142515'

SELECT DATE_FORMAT(NOW(), '%m/%d/%Y %H:%i:%s') FROM DUAL; 
-- 결과: '07/09/2019 14:24:17'

-- 3) CHAR 타입 --> DATE 타입 변경  
SELECT STR_TO_DATE('20190709142515','%Y%m%d%H%i%s') FROM DUAL; 
-- 결과: '2019-07-09 14:25:15'

SELECT STR_TO_DATE('07/09/2019 14:24:17','%m/%d/%Y %H:%i:%s') FROM DUAL; 
-- 결과: '2019-07-09 14:24:17'


-- 4) 날짜/시간 연산 

---- a) 현재 시간 
SELECT NOW() FROM DUAL; 
-- 결과: '2019-07-09 14:29:51'

---- b) 하루 더하기  
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) FROM DUAL; 
-- 결과: '2019-07-10 14:30:10'

---- c) 한시간 더하기 
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY_HOUR) FROM DUAL; 
-- 결과: '2019-07-09 15:30:49'

---- d) 1분 더하기  
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY_MINUTE) FROM DUAL; 
-- 결과: '2019-07-09 14:32:40'

---- e) 1초 더하기  
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY_SECOND) FROM DUAL; 
-- 결과: '2019-07-09 14:32:09'

posted by choiwonwoo

댓글을 달아 주세요

DataBase/Oracle 2019.07.09 14:19

줄리안 날짜(Julian Day or Julian Data)

[의미]
쥴리안 일자는 1583년에 조셉 스캘리저에 의해 발명된 방법으로 7,980년 동안 그 주기가 시작하는 날로부터 특정 일자까지 경과된 일수를 말한다. 
이러한 체계의 목적은 어떤 날짜와 다른 날짜간의 차이를 정수로 표현함으로써 계산하기 쉽게 하기 위한 것이다. 
7,980년이라는 주기는 몇 가지 전통적인 시간주기(태양, 달, 및 특별한 로마의 세금주기 등)를 조합하여 공통의 배수인 7,980이라는 숫자가 도출되었다. 
쥴리안 일자의 주기는 첫 번째 날짜는 기원전 4,713년 1월 1일이며, 서기 3,268년 1월 22일에 끝나도록 되어있다. 
그 이후의 날들은 두 번째 쥴리안 일자 기간(또는 또다시 시작될 7,890일 주기)의 첫날부터 시작될 것이다. 

1998년 2월 28일의 특정한 시간에 대한 쥴리안 일자는 다음과 같이 표현된다. 

2450873.172719 

여기서 2,450,873은 쥴리안 일자의 시작으로부터 그날까지 경과된 날수를 의미하며, ".172719"는 그날의 시간을 나타낸다. 
쥴리안 일자라는 명칭이 조셉 스캘리저의 아버지인 쥴리어스 캐사르 스캘리저 때문에 붙여진 것인지, 또는 율리우스력(Julian calendar) 이후에 붙여진 것인지는 확실치 않다. 
쥴리안 일자는 천문학에서 널리 사용된다. 

컴퓨터 프로그래밍에서 일반적으로 말하는 쥴리안 일자는, 특정한 연도의 시작으로부터 경과된 일수를 의미하는 것으로, 의미가 원래에 비해 와전되었다. 
예를 들어, 이러한 용례에서 1998년 2월 28일에 대한 쥴리안 일자는 "59"가 된다.

 

[SQL]

-- 테스트 시간 
SELECT SYSDATE FROM DUAL;
-- 결과: 09.07.2019 12:12:45

-- DATE 타입 --> CHAR 타입 변경: Julian Day
SELECT TO_CHAR(SYSDATE,'J') FROM DUAL;  
-- 결과: 2458674 

-- 8시간 빼기
SELECT SYSDATE-8/24 FROM DUAL;
-- 결과: 09.07.2019 05:57:17

SELECT TO_CHAR(SYSDATE-8/24,'J') FROM DUAL;
-- 결과: 2458674

SELECT Mod(TO_CHAR(SYSDATE-8/24,'J'),4) FROM DUAL;
-- 결과: 2

posted by choiwonwoo

댓글을 달아 주세요

DataBase/Oracle 2019.07.09 11:56

-- 1) DATE 타입 
SELECT SYSDATE FROM DUAL;
-- 결과: 09.07.2019 08:50:46

-- 2) DATE 타입 --> CHAR 타입 변경
SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') FROM DUAL;
-- 결과: 20190709085255

SELECT TO_CHAR(SYSDATE, 'MM/DD/YYYY HH24:MI:SS') FROM DUAL;
-- 결과: 07/09/2019 08:53:52

-- 3) CHAR 타입 --> DATE 타입 변경 
SELECT TO_DATE('20190709085255','YYYYMMDDHH24MISS') FROM DUAL;
-- 결과: 09.07.2019 08:52:55

SELECT TO_DATE('07/09/2019 08:53:52','MM/DD/YYYY HH24:MI:SS') FROM DUAL;
-- 결과: 09.07.2019 08:53:52

-- 4) 날짜/시간 연산

---- a) 현재 시간
SELECT SYSDATE FROM DUAL;

---- b) 하루 더하기 
SELECT SYSDATE + 1 FROM DUAL;

---- c) 한시간 더하기
SELECT SYSDATE + 1/24 FROM DUAL;

---- d) 1분 더하기 
SELECT SYSDATE + 1/(24*60) FROM DUAL;

---- e) 1초 더하기 
SELECT SYSDATE + 1/(24*60*60) FROM DUAL;

posted by choiwonwoo

댓글을 달아 주세요

MINERVA/C# 2017.12.02 11:46


posted by choiwonwoo

댓글을 달아 주세요

MINERVA/C# 2017.12.02 10:37


posted by choiwonwoo

댓글을 달아 주세요

MINERVA/C# 2017.11.30 12:02


posted by choiwonwoo

댓글을 달아 주세요

MINERVA/JSON 2017.11.14 11:45

JSON format의 응답 메시지를 handling중 정리.




위의 내용을 짐작하겠듯이, JSON의 응답값이 null 인경우와 ""가 왔을 때가 다르게 처리 됨을 알수 있다.

posted by choiwonwoo

댓글을 달아 주세요

카테고리 없음 2015.12.15 14:30

https://ccrma.stanford.edu/~craig/utility/flip/

DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13



posted by choiwonwoo

댓글을 달아 주세요

카테고리 없음 2015.12.11 14:00

GET Method사용시마다 고민(?)하게 되어, 찾아보게 된다.

결론적으로 말하면, RFC에는 길에에 대한 제한은 없다. 하지만, 현실적인 상황에 따라 제한은 있다.

아래 URL에 가면 잘 정리 되어 있어 기록으로 남김.

http://stackoverflow.com/questions/266322/is-there-a-limit-to-the-length-of-a-get-request

posted by choiwonwoo

댓글을 달아 주세요