我在表中有 3 列,即 email_id
, rid
, final_id
.rid
的规则和 final_id
:
email_id
有一个对应的rid
, 使用 rid
如 final_id
. email_id
没有对应的 rid
(即 rid
为空),生成唯一的 12 位数字并插入 final_id
field 。 如何在 Redshift 中生成 12 位唯一数字?
最佳答案
来自 Creating a UUID function in Redshift :
By default there is no UUID function in AWS Redshift. However with the Python User-Defined Function you can easily create a UUID function in Redshift.
If you want random UUID:
CREATE OR REPLACE FUNCTION public.fn_uuid()
RETURNS character varying AS
' import uuid
return uuid.uuid4().__str__()
'
LANGUAGE plpythonu VOLATILE;
If you want sequential UUID :
CREATE OR REPLACE FUNCTION public.fn_uuid()
RETURNS character varying AS
' import uuid
return uuid.uuid1().__str__()
'
LANGUAGE plpythonu VOLATILE;
关于amazon-web-services - 如何在 Redshift 中生成 12 位唯一数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46578889/