카테고리 없음
[mysql] UUID 사용하기
냐옴
2023. 5. 15. 12:31
mysql 에서 uuid 생성하기
-- uuid 생성
select uuid();
-- uuid 를 binary 로 변환
select unhex(REPLACE(uuid(), '-', ''));
-- binary 를 uuid 로 변환
select lower(hex(a.uuid_bin))
FROM (SELECT unhex(REPLACE(uuid(), '-', '')) uuid_bin) a
uuid 변환, string <-> binary
SELECT
uuidstr AS uuid_ori,
REPLACE(uuidstr, '-', '') AS uuid_ori_no_dash,
-- uuid 를 binary 로 변환
unhex(REPLACE(uuidstr, '-', '')) AS uuid_bin,
-- binary 를 uuid 로 변환 (upper case)
hex(unhex(REPLACE(uuidstr, '-', ''))) AS uuid_bin_to_str_upper,
-- binary 를 uuid 로 변환 (lower case)
lower(hex(unhex(REPLACE(uuidstr, '-', '')))) AS uuid_bin_to_str_lower
FROM (SELECT uuid() AS uuidstr) a
;
DB 컬럼 타입 설정
- binary(16)
uuid 로 조회
SELECT
lower(hex(tn.notice_uuid)) notice_uuid2, -- a75e6d14ef2047398e6591a9e7a85ff5
tn.notice_uuid -- §^m ï G9 e ©ç¨_õ
FROM tb_notice tn
WHERE 1=1
AND tn.notice_uuid = unhex(REPLACE('a75e6d14-ef20-4739-8e65-91a9e7a85ff5', '-', ''))
;