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 정망스
,
728x90

우선 제가 쓰는 비쥬얼 스튜디오 버전은 2013입니다.

그래서 환경은 2013에 기반해서 글을 씁니다.

모든 내용이 정확하지는 않을수 있기때문에 안되는 부분이 있을수도... (전 이대로 해서 됫다는.. )

이제 설명글을 적어 볼게요.

 

1. Boost 라이브러리 다운로드

 

 http://www.boost.org/

 

위 사이트에서 원하는 버전의 라이브러리를 다운 받으신후 압축을 풉니다. 압축푸는 위치는 적당한곳에 아무곳이나..(혹시나 모르니 되도록 한글이 들어가는 경로에는 제외하시길...)

 

 

2. 압축푼 폴더내에 있는 bootstrap.bat을 실행 -> b2.exe와 bjam.exe 파일이 생김

 

 

3. cmd창에서 이제 b2.exe를 실행합니다.

 

아무래도 b2를 실행하는것이 이제 빌드를 하는 부분인것같습니다.

실행과 동시에 빌드 옵션을 설정할수가 있는데요.

 

(toolset, address-model 같은 경우는 잘 알아보시고 옵션 주셔야 할듯 합니다.)

 

 

toolset 같은경우에는 c++ 컴파일러를 뜻하는 부분같은데, 지금 저는 visual studio 2013 이기때문에 msvc-12.0 입니다.

address-model 같은경우에는 32비트, 64비트를 정하는 부분 같은데요. 이것도 프로젝트 환경에 맞는 것으로 잘 선택하시길.. 안맞으면 아예 꼬입니다.

 

혹여나 저렇게 치셧는데 toolset=msvc-12.0 에서 뭐 나는 얘를 못찻겟다 모르겟다 뭐 이런 영어로 에러가 나시는 분들은

환경변수를 한번 설정해 보세요.

 

 

 

저는 이렇게 설정햇구요, 아무래도 저 경로안에있는 vsvars32.bat을 실행해야 하나 봅니다.

 

빌드 옵션과 관련해서 더 자세히 알고 싶으신분들은 아래 사이트 참고 하세요.

http://www.boost.org/boost-build2/doc/html/bbv2/overview/invocation.html

 

4. Visual Studio 프로젝트 속성 설정

 

위 3번 과정에서 빌드가 끝나면 뭐 대충 이런 화면에서 끝이 나더군요 (빌드 시간은 저는 한 5~10분 걸린거 같은데 어떤 분들은 심하게는 30분도 걸린다는분도 있고.. 아무튼 어느정도 좀 걸립니다.)

 

 

밑사진처럼  경로를 설정해서 포함시켜 주면 됩니다.

 

 

 이제 인클루드 해서 씁시다 ㄱㄱㄱㄱ

 

 

 

etc)...정보를 찾아보다

이방법 말고 다른 방법이 또 있더군요.

 

1.

http://www.boost.org/ 에서 visual studio 버전에 맞는 prebuilt windows binary를 다운받아 설치하시고

visual studio 에서 header 경로와, library 경로를 잡아주는 방법

 

2.

NuGet을 이용하는 방법

가장 쉽고 빠른 방법

하지만 NuGet를 이용해서 boost를 설치하면 해당 프로젝트 하위 디렉토리에 몇백 메가..가 되는 용량의 boost library가 통째로 들어간답니다. 배포할때 있어서 소스들을 라이브러리까지 전부다 배포해야 된다 하면 쓰면 좋답니다.

 

 

728x90
Posted by 정망스
,
728x90

m_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW); //컬링 방향 지정

D3DCULL_CCW : 반시계

D3DCULL_CW : 시계

D3DCULL_NONE : 시계,반시계 둘다

 

m_pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); //true: 물체가 빛을 반사, false: 물체가 빛 반사 No

 

m_pD3DDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE); //true일 경우에는 카메라 위치에 가까있는것 부터 차례대로 그리고, false 일 경우는 소스상으로 짜논 순서에 따라 무조건 그린다.

 

 

D3DXMATRIX matWorld, matScale, matRotate; //월드, 크기지정, 회전지정
D3DXMatrixTranslation(&matWorld, 10, 10, 0); //이동시키는거인듯 저좌표로
D3DXMatrixScaling(&matScale, 2, 2, 2); //x,y,z값 전부 2배씩
D3DXMatrixRotationX(&matRotate, timeGetTime() / 400.0f); //시간마다 회전
D3DXMatrixMultiply(&matWorld, &matWorld, &matScale); //행렬값을 곱셈으로 적용하는거다(크기)
D3DXMatrixMultiply(&matWorld, &matWorld, &matRotate); //행렬값을 곱셈으로 적용하는거다(회전)

m_pD3DDevice->SetTransform(D3DTS_WORLD, &matWorld); //적용 ㄱㄱ
m_pCube1->Render(); //그려 ㄱㄱ

728x90

'DirectX' 카테고리의 다른 글

Direct3D 개요를 보면서 일단 정리..  (0) 2015.04.30
Posted by 정망스
,
728x90

cocos2d-x 에서 배경음악이나, 특정 효과음등을 사용하고싶을때 SimpleAudioEngine가 제공된다.

 

#include "SimpleAudioEngine.h" //SimpleAudioEngine을 쓸려면 우선 헤더파일을 인클루드 해야한다.

 

cocos2d-x에서 버그가 발생할수도 있다고한다. 길이가 긴 음악등은 재생하는 순간 이상한곳에서 재생이 되거나, 지연이 생길수 있기때문에 프로그램이 시작되기 전에 미리 메모리에 읽어오는게 좋다고 한다. (무조건 적은 아닌듯 하다.)

 

/////////SimpleAudioEngine 형의 객체를 하나 만들어서 해도 되고/////////

CocosDenshion::SimpleAudioEngine* pAudio = CocosDenshion::SimpleAudioEngine::getInstance();

pAudio->preloadBackgroundMusic("bgm.wav");

pAudio->preloadEffect("effect.wav");

 

/////////바로 getinstance와 동시에 해도 된다./////////

CocosDenshion::SimpleAudioEngine::getInstance()->preloadBackgroundMusic("bgmusic.wav");

CocosDenshion::SimpleAudioEngine::getInstance()->preloadEffect("good.wav");

 

pAudio->playEffect("effect.wav"); //효과음 재생

pAudio->unloadeffect("effect.wav"); //효과음 메모리 해제

 

 

pAudio->playBackgroundMusic("bgm.wav", true); //배경음악 재생

pAudio->stopBackgroundMusic(true); //배경음악 정지

pAudio->pauseBackgroundMusic(); //배경음악 일시정지

pAudio->resumeBackgroundMusic(); //배경음악 다시시작

 

 

pAudio->setEffectVolume(0.5) //효과음 볼륨 설정

pAudio->setBackgroundMusicVolume(0.5) //배경음악 볼륨 설정

 

pAudio->end(); //엔진 종료

 

 

//이외에도 다양한 함수들이 제공되고 있다

http://www.cocos2d-x.org/reference/native-cpp/V3.0beta2/de/d8f/class_cocos_denshion_1_1_simple_audio_engine.html

 

이주소로 들어가서 참고하면 될듯 하다.

 

728x90
Posted by 정망스
,


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