Rand() 함수가 존재하며 그 결과값은 0부터 1 사이의 값을 리턴한다. (예: 0.43325987654098)

따라서 0 부터 9 사이의 난수를 발생하려면...

SELECT  Floor( Rand() * 10 );

참고로 Floor( 값 ) 는 값보다 작은 정수 중 가장 큰 수를 반환한다.
반응형

저장 프로시저 내에서 Cursor를 사용해야할 때가 가끔 있다...

예>

BEGIN
DECLARE x_done int DEFAULT 0;
DECLARE x_num  int;
DECLARE x_name   varchar(20);
DECLARE cur_TestCursor CURSOR FOR
       SELECT  num, name   FROM MemberInfo;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET x_done = 1;   /* 데이터가 없으면 x_done=1 */
OPEN cur_TestCursor;

   REPEAT
      FETCH NEXT FROM cur_TestCursor INTO x_num, x_name;      /* 변수에 값을 담는다 */

        IF NOT x_done THEN

/* 여기서 수행할 쿼리를 해준다 */

        END IF;

   UNTIL x_done END REPEAT;         /* x_done이 1이 될때까지 반복된다 */
 CLOSE  cur_TestCursor;
END;

반응형

날짜 형식..  "yyyy-mm-dd hh:mi:ss"

MSSQL 에서  

Convert(char(19), GETDATE(), 120)
MYSQL 에서는
CAST( DATE_FORMAT( NOW(),'%Y-%m-%d %H:%i:%s' ) AS CHAR(19) )


날짜 형식..  "yyyymmdd"

MSSQL 에서
Convert(char(8), GETDATE(), 112)


MYSQL 에서는
CAST( DATE_FORMAT( NOW(),'%Y%m%d' ) AS CHAR(8) )


 
반응형

CONST CONNECT_MYSQL_STRING = "Driver={MySQL ODBC 3.51 driver}; Server=127.0.0.1; Database=test;Uid=testuser;Pwd=1234;"

Set connDB = Server.CreateObject("ADODB.Connection")

connDB.Open CONNECT_MYSQL_STRING
connDB.Execute("set names euckr")     <- 요고 해주면 된다.

.
.
.


반응형
MSSQL 에서는 IDENTITY (1,1) 이런식으로 하면 1부터 1씩자동증가한다.

MySQL은 테이블 생성시 auto_increment 을 붙여주면 된다. 단, 반드시 primary key 여야 한다.

예 )
seqno int  not null auto_increment primary key,
또는

seqno int  not null auto_increment,
.
.
primary key(seqno),

만약 임의의 수부터 시작하고 싶다면,

seqno int  not null auto_increment = 임의의수 primary key,

테이블 생성된 후라면,

alter table 테이블명 auto_increment = 임의의수;





반응형

+ Recent posts