728x90

- 현재 일자 구하기 (시간은 오전 12:00:00로 표기됨)

CURDATE()


- 현재 시간 구하기

NOW()


- 현재일자를 YYYYMMDD로 구하기 (대소문자 주의)

DATE_FORMAT(CURDATE(), '%Y%m%d')


- Oracle의 NVL 과 같은 함수

IFNULL


 

MySQL 내장 함수 정리


1숫자 관련 함수 

- ABS(숫자) - 절대값 출력

- CEILING(숫자) - 값보다 큰 정수 중 가장 작은 수

- FLOOR(숫자) - 값보다 작은 정수 중 가장 큰 수[실수를 무조건 버림(음수일 경우는 제외)]

- ROUND(숫자,자릿수) - 숫자를 소수점 이하 자릿수에서 반올림.(자릿수는 양수,0,음수를 갖을 수 있다.) 

- TRUNCATE(숫자,자릿수) - 숫자를 소수점 이하 자릿수에서 버림

- POW(X,Y) or POWER(X,Y) - X의 Y승 

- MOD (분자, 분모) - 분자를 분모로 나눈 나머지를 구한다.(연산자 %와 같음) 

- GREATEST(숫자1,숫자2,숫자3...) - 주어진 수 중 제일 큰 수 리턴

- LEAST(숫자1,숫자2,숫자3...) - 주어진 수 중 제일 작은 수 리턴

- INTERVAL(a,b,c,d.....) - a(숫자)의 위치 반환 


2문자 관련 함수 

- ASCII(문자) - 문자의 아스키 코드값 리턴

- CONCAT('문자열1','문자열2','문자열3'...) - 문자열들을 이어준다

- INSERT('문자열','시작위치','길이','새로운문자열') - 문자열의 시작위치부터 길이만큼 새로운 문자열로 대치 

- REPLACE('문자열','기존문자열','바뀔문자열') - 문자열 중 기존문자열을 바뀔 문자열로 바꾼다

- INSTR('문자열','찾는문자열') - 문자열 중 찾는 문자열의 위치값을 출력 

- LEFT('문자열',개수) - 문자열 중 왼쪽에서 개수만큼을 추출.

- RIGHT('문자열',개수) - 문자열 중 오른쪽에서 개수만큼을 추출

- MID('문자열',시작위치,개수) - 문자열 중 시작위치부터 개수만큼 출력 

- SUBSTRING('문자열',시작위치,개수) - 문자열 중 시작위치부터 개수만큼 출력 

- LTRIM('문자열') - 문자열 중 왼쪽의 공백을 없앤다

- RTRIM('문자열') - 문자열 중 오른쪽의 공백을 없앤다

- TRIM('문자열') - 양쪽 모두의 공백을 없앤다

- LCASE('문자열') or LOWER('문자열') - 소문자로 바꾼다

- UCASE('문자열') or UPPER('문자열') - 대문자로 바꾼다

- REVERSE('문자열') - 문자열을 반대로 나열한다


3논리 관련 함수 

- IF(논리식,참일 때 값,거짓일 때 값) - 논리식이 참이면 참일 때 값을 출력하고 논리식이 거짓이면 거짓일 때 출력한다

- IFNULL(값1,값2) - 값1이 NULL 이면 값2로 대치하고 그렇지 않으면 값1을 출력 


4집계 함수 

- COUNT(필드명) - NULL 값이 아닌 레코드 수를 구한다

- SUM(필드명) - 필드명의 합계를 구한다

- AVG(필드명) - 각각의 그룹 안에서 필드명의 평균값을 구한다

- MAX(필드명) - 최대값을 구한다

- MIN(필드명) - 최소값을 구한다


5날짜 관련 함수 

- NOW() or SYSDATE() or CURRENT_TIMESTAMP() - 현재 날짜와 시간 출력 

- CURDATE() or CURRENT_DATE() -현재 날짜 출력 

- CURTIME() or CURRENT_TIME() -현재 시간 출력 

- DATE_ADD(날짜,INTERVAL 기준값) -날짜에서 기준값 만큼 더한다

- DATE_SUB(날짜,INTERVAL 기준값) -날짜에서 기준값 만큼 뺸다

- YEAR(날짜) -날짜의 연도 출력

- MONTH(날짜) -날짜의 월 출력

- MONTHNAME(날짜) -날짜의 월을 영어로 출력

- DAYNAME(날짜) -날짜의 요일일 영어로 출력

- DAYOFMONTH(날짜) -날짜의 월별 일자 출력

- DAYOFWEEK(날짜) -날짜의 주별 일자 출력(월요일(0),화요일(1)...일요일(6)) 

- WEEKDAY(날짜) -날짜의 주별 일자 출력(월요일(0),화요일(1)...일요일(6)) 

- DAYOFYEAR(날짜) -일년을 기준으로 한 날짜까지의 날 수

- WEEK(날짜) -일년 중 몇 번쨰 주

- FROM_DAYS(날 수) --00년 00월 00일부터 날 수 만큼 경과한 날의 날짜 출력

- TO_DAYS(날짜) --00 년 00 월 00일 부터 날짜까지의 일자 수 출력

- DATE_FORMAT(날짜,'형식') : 날짜를 형식에 맞게 출력

728x90

'DB' 카테고리의 다른 글

[MySQL] information_schema 테이블개수,이름 등등.. 추출  (1) 2014.06.11
Posted by 정망스
,
728x90

동적으로 DB 에서 테이블을 생성하는 경우가 분명히 쓰일때가 있을겁니다.

 

이럴경우 테이블을 생성할때 DB안에 같은 이름이 존재하는지, 등등의 확인과정을 할려면

DB안에 테이블이 있는가, 몇개나 있는가 등등을 알고 싶을 경우가 있습니다.

 

그럴경우 Mysql에서는 Information_schema 를 쓰면 되더군요.

 

뭐 물론 간단히 같은이름의 테이블이 존재하려는지 알고 싶다면 LIKE를 써서 조건을 지정해줘서 찾아도 될겁니다...

 

자 그럼 본론으로 와서

Information_schema는 일단 MySQL5 에서부터 추가되어서 MySQL4 이하에서는 사용할수 없다고 합니다.

 

SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = ‘DB명‘;

 

 

사진에서 보이시나요, 해당하는 db에 존재하는 테이블의 개수를 count를 써서 알아낼수 있습니다.

 

SELECT table_name, table_type, engine FROM information_schema.tables WHERE table_schema = ‘DB명‘;

 

 

이렇게 또 count 가 아니라, 추출해 낼려는 속성을 따로 지정해주면 또 존재하는 테이블의 이름이라던지, 타입이라던지 등

 

등도 알아 낼수 있더 군요

 

음.. 하나 오해하실까바 .. 일단 db명이 trashdb인데 .. 이건 db를 싫어하는게 아니라 제가 하고 있는 프로젝트가 쓰레기라는

 

키워드를 이용한 프로젝트라 이름을 대충 저렇게 지어 논겁니다... 오해 ㄴㄴ..

 

자세하게 더 알고 싶으신분들은 http://dev.mysql.com/doc/refman/5.0/en/information-schema.html 이 링크로 들어가시면 더 잘 알아 보실수 있을듯 합니다.

 

 

728x90

'DB' 카테고리의 다른 글

mysql 에서 쓸수있는 함수들 정리 中  (0) 2014.06.12
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침