반응형
비밀번호 찾기 등에서 임의의 비밀번호를 채번하는 경우 다음과 같이 작성해볼 수 있습니다.
SELECT CONCAT( CHAR(RAND() * 24 + 97)
, CHAR(RAND() * 24 + 97)
, CHAR(RAND() * 24 + 97)
, CAST(RAND() * 9 as INT)
, CAST(RAND() * 9 as INT)
, CAST(RAND() * 9 as INT)
) userPwd
해당 방법을 사용하면 소문자 3자리 + 숫자 3자리의 임의의 비밀번호가 채번됩니다.
만약 다음과 같이 WITH 절을 사용하여 같은 명령을 5번 수행해보면
WITH V_TEMP AS (
SELECT CONCAT( CHAR(RAND() * 24 + 97)
, CHAR(RAND() * 24 + 97)
, CHAR(RAND() * 24 + 97)
, CAST(RAND() * 9 as INT)
, CAST(RAND() * 9 as INT)
, CAST(RAND() * 9 as INT)
) userPwd
)
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP
아래와 같이 동일하지 않은 랜덤 한 임의의 문자열이 채번됨을 확인할 수 있습니다.
반응형
'개발 창고 > Database' 카테고리의 다른 글
[DBeaver] 자주 쓰는 단축키 모음 (0) | 2022.02.18 |
---|---|
[MSSQL] 날짜데이터에서 정보 추출하기 (0) | 2021.02.08 |
[SQL] 인덱스 생성/조회/삭제 (feat. MariaDB) (0) | 2020.11.09 |
[SQL] Index란 무엇인가? - 개념편 (0) | 2020.11.09 |
[SQL] GROUP BY란? - 함수편 (0) | 2020.09.28 |