snowflake-cloud-data-platform - 如何在雪花数据仓库中创建循环序列
问题描述
我正在像 Oracle 一样在雪花数据仓库中寻找带有循环的序列。我猜雪花数据仓库没有这个内置的。知道如何实施吗?
解决方案
虽然 Snowflake 目前不支持它(请考虑在 Snowflake 社区论坛中提交功能请求),但您可以(大部分)使用 UDF 来模拟它,例如:
create or replace sequence seq;
create or replace function cyclic_seq() returns int as 'mod(seq.nextval, 3)';
create or replace table x(s string, i int default cyclic_seq());
insert into x(s) values('a');
insert into x(s) values('b');
insert into x(s) values('c');
insert into x(s) values('d');
insert into x(s) values('e');
insert into x(s) values('f');
select * from x;
---+---+
S | I |
---+---+
a | 1 |
b | 2 |
c | 0 |
d | 1 |
e | 2 |
f | 0 |
---+---+
推荐阅读
- mod-rewrite - 将子页面重定向到外部站点子页面
- botframework - 根据用户更改识别器列表
- python - 在特定行和列中替换csv python中的特定字符串
- javascript - 将对象内的对象读取为未定义
- c - 如何在c中迭代和打印哈希表?
- python-3.x - 映射函数python3以获取消息长度
- ios - Swift 警告:应用程序委托收到对 -application:performFetchWithCompletionHandler 的调用:但从未调用过完成处理程序
- swift - 删除具有子值的父节点
- c++ - 在 C++ 中使用 libevdev 的设备输入事件
- java - ClassCastException:java.math.BigInteger 不能在 DriverManager.getConnection() 上转换为 java.lang.Long