자꾸 까먹어서 스크랩.... ^^;

 

SELECT SYSDATE() FROM DUAL; SELECT NOW() FROM DUAL; -- 현재 시간
SELECT CURTIME() FROM DUAL; -- 현재 시간
SELECT CURDATE() FROM DUAL; -- 현재 날짜
SELECT DATE_ADD('20130505', INTERVAL 5 DAY) DATE FROM DUAL; -- 날짜 더하기
SELECT DATE_ADD('20130505', INTERVAL 5 WEEK) DATE FROM DUAL; -- 주 더하기
SELECT DATE_ADD('20130505', INTERVAL 5 MONTH) DATE FROM DUAL; -- 달 더하기
SELECT DATE_ADD('20130505', INTERVAL 5 YEAR) DATE FROM DUAL; -- 년 더하기
SELECT DATE_SUB('20130505', INTERVAL 5 DAY) DATE FROM DUAL; -- 날짜 빼기 (DATE_ADD에서 INTERVAL -1 과 같음)
SELECT ADDDATE('20130505', 5) DATE FROM DUAL; -- 날짜 더하기
SELECT SUBDATE('20130505', 5) DATE FROM DUAL; -- 날짜 빼기
SELECT PERIOD_ADD('20130505', 5) DATE FROM DUAL; -- 일 수 더하기
SELECT PERIOD_ADD('201305', 5) DATE FROM DUAL; -- 월 수 더하기
SELECT PERIOD_ADD('2013', 5) DATE FROM DUAL; -- 년 수 더하기
SELECT LAST_DAY('20130505') DATE FROM DUAL; -- 해당 달의 마지막 날
SELECT ADDDATE(LAST_DAY(DATE_SUB('20130505', INTERVAL 1 MONTH)), 1) DATE FROM DUAL ; -- 해당 달의 첫째 날
SELECT EXTRACT(DAY FROM "20130505") DATE FROM DUAL; -- 날짜만 추출
SELECT EXTRACT(MONTH FROM "20130505") DATE FROM DUAL; -- 달만 추출
SELECT EXTRACT(YEAR FROM "20130505") DATE FROM DUAL; -- 년도만 추출
SELECT DAY('20130505') DATE FROM DUAL; -- 날짜만 추출
SELECT MONTH('20130505') DATE FROM DUAL; -- 달만 추출
SELECT YEAR('20130505') DATE FROM DUAL; -- 년도만 추출
SELECT WEEK('20130505') DATE FROM DUAL; -- 주 추출
SELECT QUARTER('20130505') DATE FROM DUAL; -- 분기 추출
SELECT DATE_ADD('20130505', INTERVAL(DAYOFWEEK('20130505')-1) * -1 DAY) DAY FROM DUAL; -- 해당 주의 특정 요일(일요일:1)
SELECT DATE_ADD('20130505', INTERVAL(DAYOFWEEK('20130505')-2) * -1 DAY) DAY FROM DUAL; -- 해당 주의 특정 요일(월요일:2)
SELECT DATEDIFF('20130505', '20130405') DATE FROM DUAL; -- 두개 날짜 비교하여 빼기
SELECT DAYOFWEEK('20130505') DAY FROM DUAL; -- 요일을 날짜로(일요일:1)
SELECT DAYNAME('20130505') DAY FROM DUAL; -- 요일 이름 추출
SELECT MONTHNAME('20130505') DAY FROM DUAL; -- 요일 이름 추출
SELECT DATE_FORMAT('20130505', '%Y/%m/%d') DATE FROM DUAL; -- 날짜 포멧 변경(STRING으로 변경)
SELECT DATE_FORMAT('20130505', '%Y%m%d') DATE FROM DUAL; -- 날짜 포멧 변경(STRING으로 변경)
SELECT STR_TO_DATE('20130505', '%Y%m%d') DATE FROM DUAL; -- STRING 을 DATE 형으로 변환
SELECT DATE_FORMAT('2013-05-05 22:23:00', '%H:%i:%s') DATE FROM DUAL; -- 포멧 변환
SELECT DATE_FORMAT('2013-05-05 22:23:00', '%D %y %a %d %m %b %j') DATE FROM DUAL; -- 포멧 변환

'스크랩' 카테고리의 다른 글

Mysql 날짜 비교 함수  (0) 2013.06.13
Safari CSS Reference  (0) 2012.01.19
서치엔진에서 상위리스트 올리는 방법  (0) 2012.01.19
[스크랩] mysql의 주요 함수...  (0) 2010.11.05
심폐소생술 영상 이네요... ^^;  (0) 2010.05.17
로저 리들리를 아시나요???  (0) 2010.05.17



2007년 자료네요...
좀 오래된자료지만 정리하다가 나왔길래 올려노아요.


safaricssref-techbug.pdf


'스크랩' 카테고리의 다른 글

Mysql 날짜 비교 함수  (0) 2013.06.13
Safari CSS Reference  (0) 2012.01.19
서치엔진에서 상위리스트 올리는 방법  (0) 2012.01.19
[스크랩] mysql의 주요 함수...  (0) 2010.11.05
심폐소생술 영상 이네요... ^^;  (0) 2010.05.17
로저 리들리를 아시나요???  (0) 2010.05.17


서치엔진은 검색결과에 따른 순위 부여에 있어서 나름대로의 방식으로 가중치를 부여하고 있기 때문에 동일한 키워드 조합으로 홈페이지를 등록하더라도 검색순위에 있어 서로 다른 순위가 나타난다.

그러나 이러한 점을 염두에 두더라도 다양한 검색 우선순위에 있어서 공통적으로 중요시 여기는 항목을 채크함으로서 인터넷 마케팅과 홍보에 있어 탁월한 효과를 이루어 낼 수 있다.

이제 Search Engine에서 상위리스트에 올리는 방법을 알아보기로 하자.
요즘엔 아래 방법대로 하더라도 실제 상위에 올라간다는 보장은 없다.
실제 탁월한 상위 리스트 올리는 방법은 인제 돈이다..ㅡㅡ;

▶'Description tag' 의 내용선택

<META NAME="description" CONTENT="키워드 나열방법보다는 웹페이지의 내용을 요약설명하되 핵심내용을 먼저 쓰고 부가설명은 나중에 위치시킨다.">

Search Engine은 검색 결과를 출력할 때 해당 web page에 대한 설명을 하기 위해 page 내용이 요약되어 있는 description tag의 내용을 참고하기 때문에 이 부분은 인터넷 사용자들이 해당 web page 방문여부를 결정하는데 결정적인 영향을 주고 있다. 키워드가 되는 단어들을 의미 없이 나열하지 말고 해당 web page의 내용을 요약 하는 방식이 좋다.


▶'Description tag'의 길이 제한

<META NAME="description" CONTENT="공백포함 150자 이내">

각 Search Engine별로 길이 제한이 다르기 때문에 모든 Search Engine에서 서술한 내용이 모두 보여기지기를 원한다면 공백을 포함하여 150자 이내로 하는 것이 좋다.

그 이상의 내용을 쓰고자 한다면 먼저 150자 이내에 가장 핵심적인 내용을 쓰고 그 후에 부가적인 설명을 하도록 하는 것이 좋다.


▶'Keywords tag' 키워드의 선택

어떤 Search Engine 들은 index 저장을 위해 할당된 디스크 공간을 절약하고 검색속도를 빠르게 하기 위해 "internet" 이나 "web"등과 같이 흔히 사용되는 몇몇 단어들(Stop Words)에 대해서는 index 시 이를 포함시키지 않거나 또는 검색자가 검색을 실시할 때 해당 단어에 대한 검색은 생략하고 있다.

이와 같은 stop word를 keyword로 설정하였을 경우 index에 포함되지 않기 때문에 page 순위 향상에 아무런 도움이 되지 않기 때문에 이에 대한 해결책
주오영 일정 조정중[제휴 일정 광고 일정 기획전 일정 부서간 협조 일정등 조정예정]<joyrules> 님의 말:
  서치엔진에서 상위리스트 올리는 방법

서치엔진은 검색결과에 따른 순위 부여에 있어서 나름대로의 방식으로 가중치를 부여하고 있기 때문에 동일한 키워드 조합으로 홈페이지를 등록하더라도 검색순위에 있어 서로 다른 순위가 나타난다.

그러나 이러한 점을 염두에 두더라도 다양한 검색 우선순위에 있어서 공통적으로 중요시 여기는 항목을 채크함으로서 인터넷 마케팅과 홍보에 있어 탁월한 효과를 이루어 낼 수 있다.

이제 Search Engine에서 상위리스트에 올리는 방법을 알아보기로 하자.
요즘엔 아래 방법대로 하더라도 실제 상위에 올라간다는 보장은 없다.
실제 탁월한 상위 리스트 올리는 방법은 인제 돈이다..ㅡㅡ;

▶'Description tag' 의 내용선택

<META NAME="description" CONTENT="키워드 나열방법보다는 웹페이지의 내용을 요약설명하되 핵심내용을 먼저 쓰고 부가설명은 나중에 위치시킨다.">

Search Engine은 검색 결과를 출력할 때 해당 web page에 대한 설명을 하기 위해 page 내용이 요약되어 있는 description tag의 내용을 참고하기 때문에 이 부분은 인터넷 사용자들이 해당 web page 방문여부를 결정하는데 결정적인 영향을 주고 있다. 키워드가 되는 단어들을 의미 없이 나열하지 말고 해당 web page의 내용을 요약 하는 방식이 좋다.


▶'Description tag'의 길이 제한

<META NAME="description" CONTENT="공백포함 150자 이내">

각 Search Engine별로 길이 제한이 다르기 때문에 모든 Search Engine에서 서술한 내용이 모두 보여기지기를 원한다면 공백을 포함하여 150자 이내로 하는 것이 좋다.

그 이상의 내용을 쓰고자 한다면 먼저 150자 이내에 가장 핵심적인 내용을 쓰고 그 후에 부가적인 설명을 하도록 하는 것이 좋다.


▶'Keywords tag' 키워드의 선택

어떤 Search Engine 들은 index 저장을 위해 할당된 디스크 공간을 절약하고 검색속도를 빠르게 하기 위해 "internet" 이나 "web"등과 같이 흔히 사용되는 몇몇 단어들(Stop Words)에 대해서는 index 시 이를 포함시키지 않거나 또는 검색자가 검색을 실시할 때 해당 단어에 대한 검색은 생략하고 있다.

이와 같은 stop word를 keyword로 설정하였을 경우 index에 포함되지 않기 때문에 page 순위 향상에 아무런 도움이 되지 않기 때문에 이에 대한 해결책

'스크랩' 카테고리의 다른 글

Mysql 날짜 비교 함수  (0) 2013.06.13
Safari CSS Reference  (0) 2012.01.19
서치엔진에서 상위리스트 올리는 방법  (0) 2012.01.19
[스크랩] mysql의 주요 함수...  (0) 2010.11.05
심폐소생술 영상 이네요... ^^;  (0) 2010.05.17
로저 리들리를 아시나요???  (0) 2010.05.17
□ mysql의 주요 함수
6.1 그룹함수
 
     - 연산의 순서를 명확하게 하기 위해 사용된다.
6.1.1 () 괄호
mysql> SELECT 1+3*5;
+-------+
| 1+3*5 |
+-------+
| 16 |
+-------+
1 row in set (0.00 sec)
mysql> SELECT (1+3)*5;
+---------+
| (1+3)*5 |
+---------+
| 20 |
+---------+
1 row in set (0.06 sec)
6.2 일반적인 산술 연산자
 
     - 일반적인 연산자들이 그대로 사용된다. 연산에 사용되는 숫자가 모두 정수일 경우 -, _,
     - 연산의 결과 값은 BIGINT(64bit)로 표현된다.
6.2.1 + (더하기)
mysql> SELECT 3+5;
+-----+
| 3+5 |
+-----+
| 8 |
+-----+
1 row in set (0.00 sec)

6.2.2 - (빼기)
mysql> SELECT 3-5;
+-----+
| 3-5 |
+-----+
| -2 |
+-----+
1 row in set (0.00 sec)
mysql의 함수
MYSQL -2-

6.2.3 * (곱하기)
mysql> SELECT 3*5;
+-----+
| 3*5 |
+-----+
| 15 |
+-----+
1 row in set (0.00 sec)

6.2.4 / (나누기)
mysql> SELECT 3/5;
+------+
| 3/5 |
+------+
| 0.60 |
+------+
1 row in set (0.02 sec)
6.3 논리 연산자
 
     - 모든 논리 연산의 결과 값은 1(TRUE, 참) 또는 0(FALSE, 거짓) 중의 하나이다.

6.3.1 ! (NOT)
부정 : NOT은 1.이면 0을 0이면 1을 리턴한다.
예외 : NOT NULL의 경우는 NULL을 리턴
mysql> SELECT NOT 1;
+-------+
| NOT 1 |
+-------+
| 0 |
+-------+
1 row in set (0.00 sec)
mysql> SELECT NOT NULL;
+----------+
| NOT NULL |
+----------+
| NULL |
+----------+
1 row in set (0.01 sec)
mysql> SELECT !(1+1);
+--------+
| !(1+1) |
+--------+
| 0 |
+--------+
mysql의 함수
MYSQL -3-
1 row in set (0.01 sec)
mysql> SELECT ! 1+1;
+-------+
| ! 1+1 |
+-------+
| 1 |
+-------+
1 row in set (0.00 sec)

6.3.2 || (OR)
또는 으로 해석하며 인수 모두 0이거나 NULL이 아니면 1을 리턴
mysql> SELECT 0 || 0;
+--------+
| 0 || 0 |
+--------+
| 0 |
+--------+
1 row in set (0.00 sec)
mysql> SELECT 1 || 0;
+--------+
| 1 || 0 |
+--------+
| 1 |
+--------+
1 row in set (0.01 sec)
mysql> SELECT 1 || NULL;
+-----------+
| 1 || NULL |
+-----------+
| 1 |
+-----------+
1 row in set (0.01 sec)

6.3.3 && (AND)
그리고로 해석하며 인수 중 하나라도 0 또는 NULL이면 0을, 아니면 1을 리턴

    
6.4 비교 연산자
 
     - 모든 비교 연산의 결과값은 1(TRUE, 참) 또는 0(FALSE, 거짓) 중의 하나이다 아래의
       함수들은 문자열 혹은 숫자열에 사용될 수 있으며 필요에 따라 문자열은 숫자열로 또
       는 숫자 열이 문자열로 바뀐다.
     - mysql의 함수
     - MYSQL -4-
     - 비교 연산 수행의 규칙
     - 1. 인수가 모두 NULL이면 비교연산의 결과도 NULL이다.
     - 2. 인수가 모두 문자열이면, 문자열로 비교된다.
     - 3. 인수가 모두 정수이면 정수로 비교된다.
     - 4. 한쪽 인수가 TIMESTAMP 또는 DATETIME 타입이고 다른쪽이 숫자이면
       TIMESTAMP또는 DATETIME으로 변환되어 비교된다.
     - 5. 그 밖의 모든 경우에는 부동소수점 실수로 비교된다.
     6.4.1 = (같다)
mysql> SELECT 1 = 0;
+-------+
| 1 = 0 |
+-------+
| 0 |
+-------+
1 row in set (0.01 sec)
mysql> SELECT 1 = 1;
+-------+
| 1 = 1 |
+-------+
| 1 |
+-------+
1 row in set (0.01 sec)
mysql> SELECT '2' = 2;
+---------+
| '2' = 2 |
+---------+
| 1 |
+---------+
1 row in set (0.00 sec)

6.4.2 <>, != (같지 않다)
mysql> SELECT 'ATOM' <> 'ATOMI';
+-------------------+
| 'ATOM' <> 'ATOMI' |
+-------------------+
| 1 |
+-------------------+
1 row in set (0.01 sec)
mysql> SELECT '안석식' <> '안석식';
+----------------------+
| '안석식' <> '안석식' |
+----------------------+
mysql의 함수
MYSQL -5-
| 0 |
+----------------------+
1 row in set (0.00 sec)

6.4.3 <= (작거나 같다)
mysql> SELECT 1 <= 10;
+---------+
| 1 <= 10 |
+---------+
| 1 |
+---------+
1 row in set (0.00 sec)
mysql> SELECT 100 <= 10;
+-----------+
| 100 <= 10 |
+-----------+
| 0 |
+-----------+
1 row in set (0.00 sec)

6.4.4 >= (크거나 같다)
mysql> SELECT 10 > 5;
+--------+
| 10 > 5 |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)
mysql> SELECT 5 > 10;
+--------+
| 5 > 10 |
+--------+
| 0 |
+--------+
1 row in set (0.00 sec)

6.4.5 < (작다)
mysql> SELECT 5 < 10;
+--------+
| 5 < 10 |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)
mysql의 함수
MYSQL -6-
mysql> SELECT 10 < 5;
+--------+
| 10 < 5 |
+--------+
| 0 |
+--------+
1 row in set (0.00 sec)

6.4.6 > (크다)
mysql> SELECT 10 > 5;
+--------+
| 10 > 5 |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)
mysql> SELECT 5 > 10;
+--------+
| 5 > 10 |
+--------+
| 0 |
+--------+
1 row in set (0.00 sec)

6.4.7 <=> (한쪽이 NULL인 경우에만 0)
mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
+---------+---------------+------------+
| 1 <=> 1 | NULL <=> NULL | 1 <=> NULL |
+---------+---------------+------------+
| 1 | 1 | 0 |
+---------+---------------+------------+
1 row in set (0.00 sec)

6.4.8 ISNULL (expr)
만일 표현식 expr이 NULL이면 1을 그렇지 않으면 0을 리턴한다.
mysql> SELECT ISNULL(1+1);
+-------------+
| ISNULL(1+1) |
+-------------+
| 0 |
+-------------+
1 row in set (0.04 sec)
mysql> SELECT ISNULL(1/0);
+-------------+
| ISNULL(1/0) |
mysql의 함수
MYSQL -7-
+-------------+
| 1 |
+-------------+
1 row in set (0.01 sec)

6.4.9 expr BETWEEN min AND max
만일 표현식이 expr이 min과 max값 사이에 존재한다면 1을 그렇지 않으면 0을 리턴한
다. expr이 문자열인지 숫자인지 따라 비교 방법이 결정된다.
mysql> SELECT 10 BETWEEN 20 AND 30;
+----------------------+
| 10 BETWEEN 20 AND 30 |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.00 sec)
mysql> SELECT 'C' BETWEEN 'B' AND 'D';
+-------------------------+
| 'C' BETWEEN 'B' AND 'D' |
+-------------------------+
| 1 |
+-------------------------+
1 row in set (0.01 sec)

6.4.10 expr IN (value,...)
만일 표현식 expr이 괄호 안의 목록에 존재하면 1을 아니면 0을 리턴한다.
mysql> SELECT 'ATOM' IN ('ATOMI','안석식');
+------------------------------+
| 'ATOM' IN ('ATOMI','안석식') |
+------------------------------+
| 0 |
+------------------------------+
1 row in set (0.00 sec)
mysql> SELECT '안석식' IN ('ATOMI','안석식');
+--------------------------------+
| '안석식' IN ('ATOMI','안석식') |
+--------------------------------+
| 1 |
+--------------------------------+
1 row in set (0.01 sec)
□ 6.5 문자열 비교 함수
6.5.1 LIKE
WHERE 조건 절에서 LIKE에서는 다음 2가지의 와일드카드 문자(wildcard characters)
mysql의 함수
MYSQL -8-
를 쓸 수 있다.
% : 0또는 하나 이상의 문자에 해당한다.
_ : 하나의 문자에 해당한다.
mysql> SELECT 'ATOM!' LIKE 'ATOM_';
+----------------------+
| 'ATOM!' LIKE 'ATOM_' |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.01 sec)
mysql> SELECT 'ATOM' LIKE 'A%';
+------------------+
| 'ATOM' LIKE 'A%' |
+------------------+
| 1 |
+------------------+
1 row in set (0.01 sec)
mysql> SELECT 'ATOMI' LIKE 'ATOM';
+---------------------+
| 'ATOMI' LIKE 'ATOM' |
+---------------------+
| 0 |
+---------------------+
1 row in set (0.00 sec)
□ 6.6 형 변환 연산자
        6.6.1 BINARY
BINARY 연산자는 다음에 따라오는 문자열을 바이너리 문자열로 바꿔서 연산한다. 바이
너리 문자열의 큰 특징은 바로 대소문자를 구별한다는 것이다. 컬럼 자체가 바이너리
문자열로 정의되어 있지 않더라도 대소문자를 구분해 문자열을 비교해야 할 경우 상용
된다.
mysql> SELECT "A" = "a";
+-----------+
| "A" = "a" |
+-----------+
| 1 |
+-----------+
1 row in set (0.01 sec)
mysql> SELECT BINARY "A" = "a";
+------------------+
| BINARY "A" = "a" |
+------------------+
mysql의 함수
MYSQL -9-
| 0 |
+------------------+
1 row in set (0.01 sec)
□ 6.7 흐름 제어 함수
    6.7.1 IFNULL(expr1, expr2)
만일 expr1이 NULL이 아닐 경우 IFNULL() 함수는 expr1 자체의 값을 리턴하고 그렇
지 않을 경우 expr2을 리턴한다.
mysql> SELECT IFNULL(1,0);
+-------------+
| IFNULL(1,0) |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
mysql> SELECT IFNULL(0,10);
+--------------+
| IFNULL(0,10) |
+--------------+
| 0 |
+--------------+
1 row in set (0.00 sec)
mysql> SELECT IFNULL(1/0,10);
+----------------+
| IFNULL(1/0,10) |
+----------------+
| 10 |
+----------------+
1 row in set (0.00 sec)

6.7.2 IF(expr1, expr2, expr3)
만일 expr1이 참이면 expr2를 리턴하고 그렇지 않으면 expr3을 리턴한다.
mysql> SELECT IF(1<2, 'YES', 'NO');
+----------------------+
| IF(1<2, 'YES', 'NO') |
+----------------------+
| YES |
+----------------------+
1 row in set (0.01 sec)
mysql> SELECT IF(1>2,10,20);
+---------------+
| IF(1>2,10,20) |
+---------------+
mysql의 함수
MYSQL -10-
| 20 |
+---------------+
1 row in set (0.01 sec)
□ 6.8 수학 함수
 
     - 모든 수학 함수는 오류가 생기면 NULL을 리턴한다.
     6.8.1 -
음수 부호, 숫자의 부호를 바꾼다.
mysql> SELECT - 10;
+------+
| - 10 |
+------+
| -10 |
+------+
1 row in set (0.00 sec)

6.8.2 ABS(X)
X의 절대값을 구한다.
mysql> SELECT ABS(2);
+--------+
| ABS(2) |
+--------+
| 2 |
+--------+
1 row in set (0.00 sec)
mysql> SELECT ABS(-2);
+---------+
| ABS(-2) |
+---------+
| 2 |
+---------+
1 row in set (0.00 sec)

6.8.3 SIGN(X)
X의 부호에 따라 음수일 경우 ?1, 0일 경우 0, 양수일 경우 1을 리턴한다.
mysql> SELECT SIGN(-10);
+-----------+
| SIGN(-10) |
+-----------+
| -1 |
+-----------+
1 row in set (0.03 sec)
mysql의 함수
MYSQL -11-
mysql> SELECT SIGN(0);
+---------+
| SIGN(0) |
+---------+
| 0 |
+---------+
1 row in set (0.00 sec)
mysql> SELECT SIGN(10);
+----------+
| SIGN(10) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)

6.8.4 MOD(N, M), %
나머지 연산자로 N을 M으로 나눈 나머지를 구한다.
mysql> SELECT MOD(100,30);
+-------------+
| MOD(100,30) |
+-------------+
| 10 |
+-------------+
1 row in set (0.00 sec)

6.8.5 FLOOR(X)
X보다 크지 않은 최대 정수를 구한다.
mysql> SELECT FLOOR(10.54);
+--------------+
| FLOOR(10.54) |
+--------------+
| 10 |
+--------------+
1 row in set (0.00 sec)
mysql> SELECT FLOOR(-10.54);
+---------------+
| FLOOR(-10.54) |
+---------------+
| -11 |
+---------------+
1 row in set (0.01 sec)

6.8.6 CEILING(X)
X보다 작지 않은 최소 정수를 구한다.
mysql> SELECT CEILING(10.54);
mysql의 함수
MYSQL -12-
+----------------+
| CEILING(10.54) |
+----------------+
| 11 |
+----------------+
1 row in set (0.16 sec)
mysql> SELECT CEILING(-10.54);
+-----------------+
| CEILING(-10.54) |
+-----------------+
| -10 |
+-----------------+
1 row in set (0.01 sec)

6.8.7 ROUND(X)
X의 반올림 값을 구한다.
mysql> SELECT ROUND(10.53);
+--------------+
| ROUND(10.53) |
+--------------+
| 11 |
+--------------+
1 row in set (0.05 sec)

6.8.8 ROUND(X, D)
X를 반올림해서 소수점아래 D 자리까지 구한다. 만일 D가 0이면 소수점 아래 부분을
생략된다.
mysql> SELECT ROUND(10.569, 2);
+------------------+
| ROUND(10.569, 2) |
+------------------+
| 10.57 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT ROUND(10.569, 0);
+------------------+
| ROUND(10.569, 0) |
+------------------+
| 11 |
+------------------+
1 row in set (0.01 sec)

6.8.9 EXP(X)
e^X 값을 구한다.
mysql의 함수
MYSQL -13-
mysql> SELECT EXP(1);
+----------+
| EXP(1) |
+----------+
| 2.718282 |
+----------+
1 row in set (0.00 sec)
mysql> SELECT EXP(2);
+----------+
| EXP(2) |
+----------+
| 7.389056 |
+----------+
1 row in set (0.01 sec)

6.8.10 LOG(X)
자연로그 값을 구한다.
mysql> SELECT LOG(2);
+----------+
| LOG(2) |
+----------+
| 0.693147 |
+----------+
1 row in set (0.05 sec)

6.8.11 LOG10(X)
상용로그 값을 구한다.
mysql> SELECT LOG10(2);
+----------+
| LOG10(2) |
+----------+
| 0.301030 |
+----------+
1 row in set (0.05 sec)

6.8.12 POW(X, Y), POWER(X, Y)
X의 Y승 값을 구한다.
mysql> SELECT POW(5,5);
+-------------+
| POW(5,5) |
+-------------+
| 3125.000000 |
+-------------+
1 row in set (0.00 sec)
mysql> SELECT POWER(5,5);
mysql의 함수
MYSQL -14-
+-------------+
| POWER(5,5) |
+-------------+
| 3125.000000 |
+-------------+
1 row in set (0.00 sec)
mysql> SELECT POW(5,-5);
+-----------+
| POW(5,-5) |
+-----------+
| 0.000320 |
+-----------+
1 row in set (0.01 sec)
mysql> SELECT POWER(5,-5);
+-------------+
| POWER(5,-5) |
+-------------+
| 0.000320 |
+-------------+
1 row in set (0.00 sec)

6.8.13 SQRT(X)
X의 근을 구한다.
mysql> SELECT SQRT(5);
+----------+
| SQRT(5) |
+----------+
| 2.236068 |
+----------+
1 row in set (0.00 sec)

6.8.14 PI()
파이 값을 리턴한다.
mysql> SELECT PI();
+----------+
| PI() |
+----------+
| 3.141593 |
+----------+
1 row in set (0.00 sec)

6.8.15 COS(X)
X의 코사인 값을 굿한다. (X는 라디안)
mysql> SELECT COS(PI());
+-----------+
mysql의 함수
MYSQL -15-
| COS(PI()) |
+-----------+
| -1.000000 |
+-----------+
1 row in set (0.06 sec)

6.8.16 SIN(X)
X의 사인 값을 구한다. (X는 라디안)
mysql> SELECT SIN(PI()+5);
+-------------+
| SIN(PI()+5) |
+-------------+
| 0.958924 |
+-------------+
1 row in set (0.00 sec)

6.8.17 TAN(X)
X의 탄젠트 값을 구한다. (X는 라디안)
mysql> SELECT TAN(PI()+5);
+-------------+
| TAN(PI()+5) |
+-------------+
| -3.380515 |
+-------------+
1 row in set (0.01 sec)

6.8.18 ACOS(X)
X의 아크 코사인 값을 구한다. (X가 ?1~1 사이의 값이 아니면 NULL 리턴)
mysql> SELECT ACOS(1.45);
+------------+
| ACOS(1.45) |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
mysql> SELECT ACOS(0);
+----------+
| ACOS(0) |
+----------+
| 1.570796 |
+----------+
1 row in set (0.00 sec)
mysql> SELECT ACOS(-1);
+----------+
| ACOS(-1) |
mysql의 함수
MYSQL -16-
+----------+
| 3.141593 |
+----------+
1 row in set (0.00 sec)

6.8.19 ASIN(X)
X의 아크 사인 값을 구한다. (X가 ?1~1 사이의 값이 아니면 NULL 리턴)
mysql> SELECT ASIN(1.45);
+------------+
| ASIN(1.45) |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
mysql> SELECT ASIN(0.25);
+------------+
| ASIN(0.25) |
+------------+
| 0.252680 |
+------------+
1 row in set (0.00 sec)

6.8.20 ATAN(X)
X의 아크 탄젠트 값을 구한다.
mysql> SELECT ATAN(1.45);
+------------+
| ATAN(1.45) |
+------------+
| 0.967047 |
+------------+
1 row in set (0.04 sec)

6.8.21 ATAN2(X, Y)
X와 Y사이의 아크 탄젠트 값을 구한다. ATAN(Y/X)와 같다.
mysql> SELECT ATAN2(1.45,2);
+---------------+
| ATAN2(1.45,2) |
+---------------+
| 0.627308 |
+---------------+
1 row in set (0.01 sec)

6.8.22 COT(X)
X의 코탄젠트 값을 구한다.
mysql의 함수
MYSQL -17-
mysql> SELECT COT(1.45);
+------------+
| COT(1.45) |
+------------+
| 0.12138732 |
+------------+
1 row in set (0.00 sec)
mysql> SELECT COT(0);
+--------+
| COT(0) |
+--------+
| NULL |
+--------+
1 row in set (0.01 sec)

6.8.23 RAND(), RAND(N)
0과 1.0 사이의 난수를 만들어 낸다.
N이 주어질 경우 난수 발생을 위한 시드(seed) 로 사용된다.
mysql> SELECT RAND();
+-----------------+
| RAND() |
+-----------------+
| 0.7502322306393 |
+-----------------+
1 row in set (0.01 sec)
mysql> SELECT RAND();
+------------------+
| RAND() |
+------------------+
| 0.20788959060599 |
+------------------+
1 row in set (0.01 sec)
mysql> SELECT RAND();
+------------------+
| RAND() |
+------------------+
| 0.78875129184569 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT RAND(10);
+------------------+
| RAND(10) |
+------------------+
| 0.18109053110805 |
+------------------+
mysql의 함수
MYSQL -18-
1 row in set (0.00 sec)
mysql> SELECT RAND(15);
+------------------+
| RAND(15) |
+------------------+
| 0.18109054787186 |
+------------------+
1 row in set (0.01 sec)

6.8.24 LEAST(X, Y, ...)
주어진 인수 중 가장 작은 것을 찾아낸다.
mysql> SELECT LEAST(4,345,233,1,44,32);
+--------------------------+
| LEAST(4,345,233,1,44,32) |
+--------------------------+
| 1 |
+--------------------------+
1 row in set (0.00 sec)

6.8.25 GREATEST(X, Y, ...)
주어진 인수 중 가장 큰 것을 찾아낸다.
mysql> SELECT GREATEST(4,345,233,1,44,32);
+-----------------------------+
| GREATEST(4,345,233,1,44,32) |
+-----------------------------+
| 345 |
+-----------------------------+
1 row in set (0.00 sec)

6.8.26 RADIANS(X)
숫자 X를 소수점 아래 D자리까지만 보여준다.
mysql> SELECT RADIANS(90);
+-----------------+
| RADIANS(90) |
+-----------------+
| 1.5707963267949 |
+-----------------+
1 row in set (0.01 sec)
6.8.27 TRUNCATE(X,D)
숫자 X를 소수점 아래 D자리까지만 보여준다.
mysql> SELECT TRUNCATE(18.99999, 3);
+-----------------------+
| TRUNCATE(18.99999, 3) |
mysql의 함수
MYSQL -19-
+-----------------------+
| 18.999 |
+-----------------------+
1 row in set (0.00 sec)
□ 6.9 문자열 함수
 
      문자열 함수는 결과값의 길이가 max_allowed_packet에서 정의된 것보다 클 경우
        NULL을 리턴한다.
6.9.1 ASCII(str)
문자열 str의 가장 좌측에 위치한 문자의 ASCII 코드값을 알려준다. 문자열이 비어있으
면 0을, 인수가 NULL이면 NULL을 리턴한다.
mysql> SELECT ASCII('1');
+------------+
| ASCII('1') |
+------------+
| 49 |
+------------+
1 row in set (0.01 sec)

6.9.2 BIN(N)
10진수 N을 2진수 형식으로 바꿔준다.
mysql> SELECT BIN(10);
+---------+
| BIN(10) |
+---------+
| 1010 |
+---------+
1 row in set (0.06 sec)

6.9.3 OCT(N)
10진수 N을 8진수 형식으로 바꿔준다.
mysql> SELECT OCT(10);
+---------+
| OCT(10) |
+---------+
| 12 |
+---------+
1 row in set (0.00 sec)

6.9.4 HEX(N)
10진수 N을 16진수 형식으로 바꿔준다.
mysql의 함수
MYSQL -20-
mysql> SELECT HEX(10);
+---------+
| HEX(10) |
+---------+
| A |
+---------+
1 row in set (0.03 sec)

6.9.5 CHAR(N,...)
CHAR() 정수 N에 해당하는 ASCII 코드 값으로 변환해 출력한다.
mysql> SELECT CHAR(77,121,83,81,76);
+-----------------------+
| CHAR(77,121,83,81,76) |
+-----------------------+
| MySQL |
+-----------------------+
1 row in set (0.00 sec)

6.9.6 CONCAT(X,Y,...)
문자열을 이어준다. 인수가 2개 이상 되어야 하며 하나라도 NULL이 있으면 NULL이
리턴된다.
mysql> SELECT CONCAT('Su','per','Atom',' ','안석식');
+----------------------------------------+
| CONCAT('Su','per','Atom',' ','안석식') |
+----------------------------------------+
| SuperAtom 안석식 |
+----------------------------------------+
1 row in set (0.02 sec)

6.9.7 LENGTH(str), OCTET_LENGTH(str), CHAR_LENGTH(str),
CHARACTER_LENGTH(str)
문자열 str의 길이를 리턴한다.
mysql> SELECT LENGTH('SUPER MYSQL');
+-----------------------+
| LENGTH('SUPER MYSQL') |
+-----------------------+
| 11 |
+-----------------------+
1 row in set (0.00 sec)

6.9.8 LOCATE(substr,str), POSITION(substr IN str)
문자열 str에서 처음으로 나오는 문자열 substr의 위치를 리턴한다. 만일 substr을 찾지
못한 경우 0을 리턴한다.
mysql> SELECT LOCATE('JU','KWANGJU');
mysql의 함수
MYSQL -21-
+------------------------+
| LOCATE('JU','KWANGJU') |
+------------------------+
| 6 |
+------------------------+
1 row in set (0.00 sec)

6.9.9 LPAD(str, len, padstr)
len 길이만큼 padstr 문자로 str의 왼쪽을 채워서 보여준다.
mysql> SELECT LPAD('ATOM',10,'!!!');
+-----------------------+
| LPAD('ATOM',10,'!!!') |
+-----------------------+
| !!!!!!ATOM |
+-----------------------+
1 row in set (0.00 sec)

6.9.10 RPAD(str, len, padstr)
len길이만큼 padstr 문자로 str의 오른쪽으로 채워서 보여준다.
mysql> SELECT LPAD('ATOM',10,'!!!');
+-----------------------+
| LPAD('ATOM',10,'!!!') |
+-----------------------+
| !!!!!!ATOM |
+-----------------------+
1 row in set (0.00 sec)

6.9.11 LEFT(str, len)
문자열 str을 왼쪽에서 len 길이만큼만 보여준다.
mysql> SELECT LEFT('KWANGJU UNIVERSITY',7);
+------------------------------+
| LEFT('KWANGJU UNIVERSITY',7) |
+------------------------------+
| KWANGJU |
+------------------------------+
1 row in set (0.00 sec)

6.9.12 RIGHT(str,len), SUBSTRING(str FROM len)
문자열 str을 오른쪽에서 len 길이만큼만 보여준다.
mysql> SELECT RIGHT('KWANGJU UNIVERSITY',10);
+--------------------------------+
| RIGHT('KWANGJU UNIVERSITY',10) |
+--------------------------------+
| UNIVERSITY |
+--------------------------------+
mysql의 함수
MYSQL -22-
1 row in set (0.00 sec)

6.9.13 SUBSTRING(str, pos, len), SUBSTRING(str FROM pos FOR
len), MID(str, pos, len)
문자열 str을 pos 위치에서 len 길이만큼만 보여준다.
mysql> SELECT SUBSTRING('APACHE+MYSQL+PHP',8,5);
+-----------------------------------+
| SUBSTRING('APACHE+MYSQL+PHP',8,5) |
+-----------------------------------+
| MYSQL |
+-----------------------------------+
1 row in set (0.00 sec)

6.9.14 SUBSTRING(str, pos)
문자열 str을 pos 위치에서 끝까지 보여준다.
mysql> SELECT SUBSTRING('APACHE+MYSQL+PHP',8);
+---------------------------------+
| SUBSTRING('APACHE+MYSQL+PHP',8) |
+---------------------------------+
| MYSQL+PHP |
+---------------------------------+
1 row in set (0.01 sec)

6.9.15 SUBSTRING_INDEX(str, delim, count)
문자열 str을 delim로 구분해서 배열로 만든후 count 만큼만 보여준다. count가 양수아
면 왼쪽에서 count 수만큼 보여주고 음수이면 오른쪽에서 count수만큼 보여준다.
mysql> SELECT SUBSTRING_INDEX('honey.kwangju.ac.kr', '.', 3);
+------------------------------------------------+
| SUBSTRING_INDEX('honey.kwangju.ac.kr', '.', 3) |
+------------------------------------------------+
| honey.kwangju.ac |
+------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING_INDEX('honey.kwangju.ac.kr', '.', -3);
+-------------------------------------------------+
| SUBSTRING_INDEX('honey.kwangju.ac.kr', '.', -3) |
+-------------------------------------------------+
| kwangju.ac.kr |
+-------------------------------------------------+
1 row in set (0.00 sec)

6.9.16 LTRIM(str)
문자열 str의 왼쪽 공백을 제거한다.
mysql> SELECT LTRIM(' COMPUTER');
mysql의 함수
MYSQL -23-
+-----------------------+
| LTRIM(' COMPUTER') |
+-----------------------+
| COMPUTER |
+-----------------------+
1 row in set (0.01 sec)

6.9.17 RTRIM(str)

문자열 str의 오른쪽 공백을 제거한다.
mysql> SELECT RTRIM('COMPUTER ');
+------------------------+
| RTRIM('COMPUTER ') |
+------------------------+
| COMPUTER |
+------------------------+
1 row in set (0.00 sec)

6.9.18 TRIM([[BOTH | LEADING | TRAILING ] [remstr] FROM] str)
옵션에 따라 문자열에서 공백을 제거한다. BOTH 앞뒤 공백제거, LEADING 앞쪽 공백
제거, TRAILING 뒤쪽 공백제거
mysql> SELECT TRIM(' SUPERATOM ');
+-------------------------+
| TRIM(' SUPERATOM ') |
+-------------------------+
| SUPERATOM |
+-------------------------+
1 row in set (0.03 sec)
mysql> SELECT TRIM(LEADING 'O' FROM 'OOOABCDEFGOOO');
+----------------------------------------+
| TRIM(LEADING 'O' FROM 'OOOABCDEFGOOO') |
+----------------------------------------+
| ABCDEFGOOO |
+----------------------------------------+
1 row in set (0.01 sec)
mysql> SELECT TRIM(BOTH 'O' FROM 'OOOABCDEFGOOO');
+-------------------------------------+
| TRIM(BOTH 'O' FROM 'OOOABCDEFGOOO') |
+-------------------------------------+
| ABCDEFG |
+-------------------------------------+
1 row in set (0.01 sec)
mysql> SELECT TRIM(TRAILING 'O' FROM 'OOOABCDEFGOOO');
+-----------------------------------------+
| TRIM(TRAILING 'O' FROM 'OOOABCDEFGOOO') |
mysql의 함수
MYSQL -24-
+-----------------------------------------+
| OOOABCDEFG |
+-----------------------------------------+
1 row in set (0.00 sec)

6.9.19 SPACE(N)
N 개의 공백 문자열을 리턴한다.
mysql> SELECT SPACE(10);
+------------+
| SPACE(10) |
+------------+
| |
+------------+
1 row in set (0.00 sec)

6.9.20 REPLACE(str, from_str, to_str)
문자열 str에서 문자열 from_str을 문자열 to_str로 치환한다.
mysql> SELECT REPLACE('SUPER-ATOM','SUPER','super');
+---------------------------------------+
| REPLACE('SUPER-ATOM','SUPER','super') |
+---------------------------------------+
| super-ATOM |
+---------------------------------------+
1 row in set (0.00 sec)

6.9.21 REPEAT(str, count)
문자열 str을 count 수만큼 반복한다.
mysql> SELECT REPEAT('ATOM',5);
+----------------------+
| REPEAT('ATOM',5) |
+----------------------+
| ATOMATOMATOMATOMATOM |
+----------------------+
1 row in set (0.00 sec)

6.9.22 REVERSE(str)
문자열의 순서를 뒤집는다.
mysql> SELECT REVERSE('ATOM');
+-----------------+
| REVERSE('ATOM') |
+-----------------+
| MOTA |
+-----------------+
1 row in set (0.00 sec)
mysql의 함수
MYSQL -25-

6.9.23 INSERT(str, pos, len, newstr)
문자열 str의 특적위치 pos부터 len 길이만큼 새로운 문자열로 바꿔 넣는다.
mysql> SELECT INSERT('HI!ATOM',4,4,'ABCD');
+------------------------------+
| INSERT('HI!ATOM',4,4,'ABCD') |
+------------------------------+
| HI!ABCD |
+------------------------------+
1 row in set (0.00 sec)

6.9.24 ELT(N, str1, str2, str3, ...)
문자열의 목록에서 N번째 문자열을 리턴한다.
mysql> SELECT ELT(4, 'SU','UP','ER','AT','O','M');
+-------------------------------------+
| ELT(4, 'SU','UP','ER','AT','O','M') |
+-------------------------------------+
| AT |
+-------------------------------------+
1 row in set (0.00 sec)

6.9.25 FIELD(str, str1, str2, str3,...)
문자열 str이 뒤따라오는 문자열의 목록에서 몇 번째 위치하는지 아려준다.
mysql> SELECT FIELD('AT', 'SU','UP','ER','AT','O','M');
+------------------------------------------+
| FIELD('AT', 'SU','UP','ER','AT','O','M') |
+------------------------------------------+
| 4 |
+------------------------------------------+
1 row in set (0.00 sec)

6.9.26 LCASE(str), LOWER(str)
문자열을 컴파일시 지정된 문자 셋에 따라 소문자로 변환한다. (디폴트는 ISO-8859-1
Latin1이다)
mysql> SELECT LCASE('SUPER ATOM');
+---------------------+
| LCASE('SUPER ATOM') |
+---------------------+
| super atom |
+---------------------+
1 row in set (0.00 sec)

6.9.27 UCASE(str), UPPER(str)

문자열을 컴파일시 지정된 문자 셋에 따라 대문자로 변환한다. (디폴트는 ISO-8859-1
Latin1이다)
mysql의 함수
MYSQL -26-
mysql> SELECT UCASE('super atom');
+---------------------+
| UCASE('super atom') |
+---------------------+
| SUPER ATOM |
+---------------------+
1 row in set (0.00 sec)

6.10 날짜 및 시간 함수
 
      MYSQL에서는 다른 데이터베이스에서 제공하지 않는 매우 편리한
      날짜 및 시간 함수를 많이 제공하고 있다.

6.10.1 DAYOFWEEK(date)
날짜를 한 주의 몇 번째 요일인지를 나타내는 숫자로 리턴한다.
mysql> SELECT DAYOFWEEK('2000-12-19');
+-------------------------+
| DAYOFWEEK('2000-12-19') |
+-------------------------+
| 3 |
+-------------------------+
1 row in set (0.00 sec)

6.10.2 WEEKDAY(date)

날짜를 한 주의 몇 번째 요일인지를 나타내는 숫자로 리턴한다.
mysql> SELECT WEEKDAY('2000-12-19 22:00:12');
+--------------------------------+
| WEEKDAY('2000-12-19 22:00:12') |
+--------------------------------+
| 1 |
+--------------------------------+
1 row in set (0.00 sec)
strong>
6.10.3 DAYOFMONTH(date)
그 달의 몇 번째 날인지를 알려준다.
mysql> SELECT DAYOFMONTH('2000-03-07');
+--------------------------+
| DAYOFMONTH('2000-03-07') |
+--------------------------+
| 7 |
+--------------------------+
1 row in set (0.01 sec)

6.10.4 DAYOFYEAR(date)
mysql의 함수
MYSQL -27-
한해의 몇 번째 날인지를 알려준다.
mysql> SELECT DAYOFYEAR('2000-12-19');
+-------------------------+
| DAYOFYEAR('2000-12-19') |
+-------------------------+
| 354 |
+-------------------------+
1 row in set (0.01 sec)

6.10.5 MONTH(date)
해당 날짜가 몇 월인지 알려준다.
mysql> SELECT MONTH('2000-12-19');
+---------------------+
| MONTH('2000-12-19') |
+---------------------+
| 12 |
+---------------------+
1 row in set (0.00 sec)

6.10.6 DAYNAME(date)

해당 날짜의 영어식 요일이름을 리턴한다.
mysql> SELECT DAYNAME('2000-12-19');
+-----------------------+
| DAYNAME('2000-12-19') |
+-----------------------+
| Tuesday |
+-----------------------+
1 row in set (0.01 sec)

6.10.7 MONTHNAME(date)
해당 날짜의 영어식 월 이름을 리턴한다.
mysql> SELECT MONTHNAME('2000-12-19');
+-------------------------+
| MONTHNAME('2000-12-19') |
+-------------------------+
| December |
+-------------------------+
1 row in set (0.00 sec)

6.10.8 QUARTER(date)
분기를 리턴한다. (1~4)
mysql> SELECT QUARTER('2000-12-19');
+-----------------------+
| QUARTER('2000-12-19') |
+-----------------------+
mysql의 함수
MYSQL -28-
| 4 |
+-----------------------+
1 row in set (0.01 sec)

6.10.9 WEEK(date), WEEK(date, first)
인수가 하나일 때는 해당 날짜가 몇 번째 주일인지(0~52)를 리턴하고 2개일 때는 주어
진 인수로 한 주의 시작일을 정해 줄 수 있다. 0이면 일요일을 1이면 월요일을 한 주의
시작일로 계산해 몇 번째 주인가 알려준다.
mysql> SELECT WEEK('2000-12-19');
+--------------------+
| WEEK('2000-12-19') |
+--------------------+
| 51 |
+--------------------+
1 row in set (0.00 sec)

6.10.10 YEAR(date)
년도를 리턴한다. (1000~9999)
mysql> SELECT YEAR('2000-12-19');
+--------------------+
| YEAR('2000-12-19') |
+--------------------+
| 2000 |
+--------------------+
1 row in set (0.01 sec)

6.10.11 HOUR(time)
시간을 리턴한다. (0~23)
mysql> SELECT HOUR('22:12:44');
+------------------+
| HOUR('22:12:44') |
+------------------+
| 22 |
+------------------+
1 row in set (0.00 sec)

6.10.12 MINUTE(time)
분을 리턴한다. (0~59)
mysql> SELECT MINUTE('22:12:44');
+--------------------+
| MINUTE('22:12:44') |
+--------------------+
| 12 |
+--------------------+
1 row in set (0.00 sec)
mysql의 함수
MYSQL -29-

6.10.13 SECOND(time)
초를 리턴한다. (0~59)
mysql> SELECT SECOND('22:12:44');
+--------------------+
| SECOND('22:12:44') |
+--------------------+
| 44 |
+--------------------+
1 row in set (0.00 sec)

6.10.14 PERIOD_ADD(P,N)

YYMM 또는 YYYYMM 형식으로 주어진 달에 N 개월을 더한다. 리턴 값은 YYYYMM
의 형식이다.
mysql> SELECT PERIOD_ADD(200012,2);
+----------------------+
| PERIOD_ADD(200012,2) |
+----------------------+
| 200102 |
+----------------------+
1 row in set (0.01 sec)

6.10.15 PERIOD_DIFF(P1,P2)
YYMM 또는 YYYYMM 형식으로 주어진 두 기간사이의 개월을 구한다.
mysql> SELECT PERIOD_DIFF(200012,199912);
+----------------------------+
| PERIOD_DIFF(200012,199912) |
+----------------------------+
| 12 |
+----------------------------+
1 row in set (0.00 sec)

6.10.16 TO_DAYS(date)
주어진 날짜를 0000년부터의 일수로 바꾼다.
mysql> SELECT TO_DAYS('2000-12-19');
+-----------------------+
| TO_DAYS('2000-12-19') |
+-----------------------+
| 730838 |
+-----------------------+
1 row in set (0.00 sec)

6.10.17 FROM_DAYS(N)
주어진 일수 N으로부터 날짜를 구한다.
mysql의 함수
MYSQL -30-
mysql> SELECT FROM_DAYS(730838);
+-------------------+
| FROM_DAYS(730838) |
+-------------------+
| 2000-12-19 |
+-------------------+
1 row in set (0.05 sec)

6.10.18 DATE_FORMAT(date,format)
format의 정의에 따라 날자 혹은 시간을 출력한다. 매우 빈번히 쓰이는 함수이다.
format에 사용되는 문자는 다음과 같다.
문 자 의 미
%M 월이름 (January...December)
%W 요일명 (Sunday...Saturday)
%D 영어식 접미사를 붙인 일 (1st, 2nd, 3rd, etc...)
%Y 4자리 년도
%y 2자리 년도
%a 짧은 요일명 (Sun...Sat)
%d 일 (00...31)
%e 일 (0...31)
%m 월 (01...12)
%c 월 (1...12)
%b 짦은 월이름 (Jan...Dec)
%j 한해의 몇 번째 요일인가 (001...366)
%H 24시 형식의 시간 (00...23)
%k 24시 형식의 시간 (0...23)
%h 12시 형식의 시간 (01...12)
%I 12시 형식의 시간 (01...12)
%l 시간 (1...12)
%i 분 (00...59)
%r 시분초 12시 형식 (hh:mm:ss [AP]M)
%T 시붙초 24시 형식 (hh:mm:ss)
%S 초 (00...59)
%s 초 (00...59)
%p AM 또는 PM 문자
%w 일주일의 몇 번째 요일인가 (0=Sunday... 6=Saturday)
%U 한해의 몇번째 주인가(0...52). 일요일이 시작일
mysql의 함수
MYSQL -31-
%u 한해의 몇번째 주인가(0...52). 월요일이 시작일
%% ‘%’ 문자를 나타냄
mysql> SELECT DATE_FORMAT('2000-12-19 22:33:00', '%W %M %Y');
+------------------------------------------------+
| DATE_FORMAT('2000-12-19 22:33:00', '%W %M %Y') |
+------------------------------------------------+
| Tuesday December 2000 |
+------------------------------------------------+
1 row in set (0.01 sec)
mysql> SELECT DATE_FORMAT('2000-12-19 22:33:00', '%H %i %s');
+------------------------------------------------+
| DATE_FORMAT('2000-12-19 22:33:00', '%H %i %s') |
+------------------------------------------------+
| 22 33 00 |
+------------------------------------------------+
1 row in set (0.01 sec)
mysql> SELECT DATE_FORMAT('2000-12-19 22:33:00',
'%D %y %a %d %m %b %j');
+------------------------------------------------------------+
| DATE_FORMAT('2000-12-19 22:33:00', '%D %y %a %d %m %b %j') |
+------------------------------------------------------------+
| 19th 00 Tue 19 12 Dec 354 |
+------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_FORMAT('2000-12-19 22:33:00',
'%H %k %I %r %T %S %w');
+------------------------------------------------------------+
| DATE_FORMAT('2000-12-19 22:33:00', '%H %k %I %r %T %S %w') |
+------------------------------------------------------------+
| 22 22 10 10:33:00 PM 22:33:00 00 2 |
+------------------------------------------------------------+
1 row in set (0.01 sec)

6.10.19 TIME_FORMAT(time,format)
DATE_FROMAT()와 비슷한 역할을 하지만 시, 분, 초만을 나타낼 수 있다는 점이다.

6.10.20 CURDATE(), CURRENT_DATE
오늘 날짜를 ‘YYYY-MM-DD’ 또는 YYYYMMDD 형식으로 리턴한다.
mysql> SELECT CURDATE();
+------------+
| CURDATE() |
+------------+
mysql의 함수
MYSQL -32-
| 2000-12-19 |
+------------+
1 row in set (0.00 sec)

6.10.21 CURTIME(), CURRENT_TIME
‘HH:MM:SS’ 또는 HHMMSS 형식으로 현재시간을 나타낸다.
mysql> SELECT CURTIME();
+-----------+
| CURTIME() |
+-----------+
| 22:36:15 |
+-----------+
1 row in set (0.00 sec)

6.10.22 NOW(), SYSDATE(), CURRENT_TIMESTAMP
오늘 날짜와 현재 시간을 ‘YYYY-MM-DD HH:MM:SS 또는 YYYYMMDDHHMMSS 형
식으로 리턴한다.
mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2000-12-19 22:36:30 |
+---------------------+
1 row in set (0.00 sec)

6.10.23 UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
인수가 없이 사용될 경우 현재 시간의 유닉스 타임스탬프를 리턴하고 만일 날짜형식의
date가 인수로 주어진 경우에는 주어진 날짜의 유닉스 타임스탬프를 리턴한다.
mysql> SELECT UNIX_TIMESTAMP();
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
| 977233008 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT UNIX_TIMESTAMP('2000-12-19 22:41:00');
+---------------------------------------+
| UNIX_TIMESTAMP('2000-12-19 22:41:00') |
+---------------------------------------+
| 977233260 |
+---------------------------------------+
1 row in set (0.00 sec)

6.10.24 FROM_UNIXTIME(unix_timestamp)
mysql의 함수
MYSQL -33-
주어진 유닉스 타임스탬프 값으로부터 ‘YYYY-MM-DD HH:MM:SS’ 또는
YYYYMMDDHHMMSS 형식의 날짜를 리턴한다.
mysql> SELECT FROM_UNIXTIME(977233260);
+--------------------------+
| FROM_UNIXTIME(977233260) |
+--------------------------+
| 2000-12-19 22:41:00 |
+--------------------------+
1 row in set (0.00 sec)

6.10.25 FROM_UNIXTIME(unix_timestamp, format)
주어진 유닉스 타임스탬프 값을 주어진 날짜 형식에 맞게 바꾸서 보여준다. 여기서 사
용되는 형식문자는 DATE_FROMAT() 함수에서 사용된 것과 같다.
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
+---------------------------------------------------------+
| FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y %D %M %h:%i:%s %x') |
+---------------------------------------------------------+
| 2000 19th December 10:39:47 x |
+---------------------------------------------------------+
1 row in set (0.00 sec)

6.10.26 SEC_TO_TIME(seconds)
주어진 초를 ‘HH:MM:SS’ 도는 HHMMSS 형식의 시간단위로 바꿔준다.
mysql> SELECT SEC_TO_TIME(1225);
+-------------------+
| SEC_TO_TIME(1225) |
+-------------------+
| 00:20:25 |
+-------------------+
1 row in set (0.03 sec)
mysql> SELECT SEC_TO_TIME(2378);
+-------------------+
| SEC_TO_TIME(2378) |
+-------------------+
| 00:39:38 |
+-------------------+
1 row in set (0.00 sec)

6.10.27 TIME_TO_SEC(time)
주어진 시간을 초 단위로 바꿔준다.
mysql> SELECT TIME_TO_SEC('22:45:00');
+-------------------------+
| TIME_TO_SEC('22:45:00') |
mysql의 함수
MYSQL -34-
+-------------------------+
| 81900 |
+-------------------------+
1 row in set (0.01 sec)
 
□ 6.11 기타 함수
6.11.1 DATABASES()
현재 사용중인 데이터베이스 이름을 리턴한다.
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| atomDB |
+------------+
1 row in set (0.00 sec)

6.11.2 USER(), SYSTEM_USER(), SESSION_USER()
현재 접속중인 MYSQL 사용자 이름을 리턴한다.
mysql> SELECT USER();
+----------------+
| USER() |
+----------------+
| atom@localhost |
+----------------+
1 row in set (0.01 sec)

6.11.3 PASSWORD(str)
일반 문자열을 암호화한다. 이 함수는 MYSQL 서버가 사용자 권한을 설정하는 테이블
인 user 테이블에 사용자의 암호를 입력할 때 사용된다.
PASSWORD() 함수를 통한 암호화는 단방향적이다. 즉 한번 PASSWORD() 함수를 통
해 암호화된 문자열을 다시 해독하는 함수는 존재하지 않는다. 따라서 주어진 사용자의
암호를 암호화 한 후 기존의 암호화된 문자열과 비교하는 방법을 통해 비교가 이루어지
다.
mysql> SELECT PASSWORD('ATOM');
+------------------+
| PASSWORD('ATOM') |
+------------------+
| 37a2353b58d088dc |
+------------------+
1 row in set (0.00 sec)
mysql의 함수
MYSQL -35-

6.11.4 ENCRYPT(str[,salt])
이 함수는 유닉스 시스템의 crypt() 시스템 함수를 이용해 주어진 문자열을 암호화한다.
암호화에 사용되는 salt가 주어질 경우 반드시 2문자가 되어야 한다.
만일 시스템에 crypt() 함수가 없다면 항상 NULL 값이 리턴될 것이다. 또한
ENCRYPT() 함수는 시스템에 따라 주어진 문자열의 앞부분 8자 까지만 암호화한다.
mysql> SELECT ENCRYPT('ATOM');
+-----------------+
| ENCRYPT('ATOM') |
+-----------------+
| M8pluDhVaCNtk |
+-----------------+
1 row in set (0.07 sec)

6.11.5 ENCODE(str,pass_str)
주어진 pass_str 문자열을 이용해 문자열 str을 암호화한다. 해독하기 위해서
DECODE() 함수를 사용하면 된다. 결과 값이 바이너리 문자열로 리턴 되므로 이 값을
저장하기 위해서는 BLOB 컬럼 타입을 이용해야 한다.
mysql> SELECT ENCODE('ATOM','atom');
+-----------------------+
| ENCODE('ATOM','atom') |
+-----------------------+
| I쁪? |
+-----------------------+
1 row in set (0.05 sec)

6.11.6 DECODE(crypt_str, pass_str)
ENCODE() 함수를 통해 리턴된 암호화 된 문자열 crypt_str을 해독한다. 이때 pass_str
는 반드시 이전에 암호화 할 때에 사용된 문자열이어야 한다.
mysql> SELECT DECODE('I쁪?,'atom');
+-----------------------+
| DECODE('I쁪?,'atom') |
+-----------------------+
| ATOM |
+-----------------------+
1 row in set (0.00 sec)

6.11.7 LAST_INSERT_ID([expr])

AUTO_INCREMENT 속석으로 정의된 컬럼에 마지막으로 입력된 값을 리턴한다.
mysql> SELECT LAST_INSERT_ID();
+------------------+
+------------------+
| 0 |
| last_insert_id() |
+------------------+
mysql의 함수
MYSQL -36-
1 row in set (0.00 sec)

6.11.8 FORMAT(X,D)
숫자 X를 ‘#,###,###,##’와 같은 형식으로 표현한다.
D는 소수점 이하 자릿수를 나타낸다. 만일 D가 0일 경우는 소수점 이하부분을 나타나
지 않는다.
mysql> SELECT FORMAT(1234.1234, 3);
+----------------------+
| FORMAT(1234.1234, 3) |
+----------------------+
| 1,234.123 |
+----------------------+
1 row in set (0.00 sec)

6.11.9 VERSION()
MYSQL 서버의 버전을 표시한다.
mysql> SELECT VERSION();
+--------------+
| VERSION() |
+--------------+
| 3.23.4-alpha |
+--------------+
1 row in set (0.01 sec)
6.11.10 BENCHMARK(count, expr)

주어진 SQL 문이나 연산을 count에 정의된 수만큼 반복해서 실행한다. 서버가 얼마나
빠르게 주어진 구문을 처리하는지 알 수 있다. 결과 값은 항상 0이다.
mysql> SELECT BENCHMARK(100000, ENCODE('HELLO','ATOM'));
+-------------------------------------------+
| BENCHMARK(100000, ENCODE('HELLO','ATOM')) |
+-------------------------------------------+
| 0 |
+-------------------------------------------+
1 row in set (1.25 sec)

 

여태 보아왔던 CPR방법중 제일 알기 쉽군요....

출처 : http://supersexycpr.com

 

 

 

왠지모를 감동이..... ^^;

게임을 하다보면 제 3인칭 시점으로 자동차를 몰곤 합니다...

과연 실제로 그렇게 몰면 어떻게 될까요??

잘 몰수 있을까요?? ㅋㅋㅋㅋ

 

위 실험으로 한번 보시죠...

지루한 부분은 건너뛰고 약 3분 후부터 본다면 플레이 해보세요.. ^^;

보기만 해도 오금이 저리는군요...

특히 마지막의 우주에서의 다이빙은 인간의 한계를 보여준것 같습니다...

와우~

'스크랩' 카테고리의 다른 글

로저 리들리를 아시나요???  (0) 2010.05.17
자동차를 게임처럼 3인칭시점으로 본다면??  (0) 2010.04.14
스턴트의 진수!! 점프 베스트 탑10  (0) 2010.04.14
아에이어우~  (0) 2010.04.14
사고영상... 후덜덜....  (0) 2010.04.13
Mysql 한국 지하철 DB  (1) 2010.03.18

머지않아 사람과 같이 말하는 로봇이 나올지도 모르겠습니다...

너무 놀랍군요.....

'스크랩' 카테고리의 다른 글

로저 리들리를 아시나요???  (0) 2010.05.17
자동차를 게임처럼 3인칭시점으로 본다면??  (0) 2010.04.14
스턴트의 진수!! 점프 베스트 탑10  (0) 2010.04.14
아에이어우~  (0) 2010.04.14
사고영상... 후덜덜....  (0) 2010.04.13
Mysql 한국 지하철 DB  (1) 2010.03.18

사람 목숨 한순간이군요...

심장 약하신분은 보지마세요.... ^^;

 

무섭네요....

안전운전 해야겠습니다....

 

( 조금만 기다리시면 아래 동영상이 나와요~ ^^; )

 






















'스크랩' 카테고리의 다른 글

로저 리들리를 아시나요???  (0) 2010.05.17
자동차를 게임처럼 3인칭시점으로 본다면??  (0) 2010.04.14
스턴트의 진수!! 점프 베스트 탑10  (0) 2010.04.14
아에이어우~  (0) 2010.04.14
사고영상... 후덜덜....  (0) 2010.04.13
Mysql 한국 지하철 DB  (1) 2010.03.18

+ Recent posts

티스토리 툴바