我指的是这stackoverflow个答案:

How can I select from list of values in SQL Server

如何在Oracle年内完成类似的事情?

我在这页上看到了其他使用UNION的答案,虽然这种方法在技术上可行,但我不想在我的 case 中使用.

所以我想继续讲语法,它或多或少看起来像一个逗号分隔的值列表.

UPDATE regarding the 101 100:

我有一张桌子:

CREATE TABLE BOOK
(   "BOOK_ID" NUMBER(38,0)
)

我使用这个脚本,但它不会在BOOK表中插入任何行:

create type number_tab is table of number;

INSERT INTO BOOK (
    BOOK_ID
)
SELECT A.NOTEBOOK_ID FROM
    (select column_value AS NOTEBOOK_ID from table (number_tab(1,2,3,4,5,6))) A
;

脚本输出:

TYPE number_tab compiled
Warning: execution completed with warning

但是如果我使用这个脚本,它会在BOOK表中插入新行:

INSERT INTO BOOK (
    BOOK_ID
)
SELECT A.NOTEBOOK_ID FROM
    (SELECT (LEVEL-1)+1 AS NOTEBOOK_ID FROM DUAL CONNECT BY LEVEL<=6) A
;

推荐答案

您不需要创建任何存储类型,您可以判断Oracle的内置集合类型.

select distinct column_value from table(sys.odcinumberlist(1,1,2,3,3,4,4,5))

Sql相关问答推荐

Select /过滤postgr中的树 struct

如何以"% m—% d"格式对生日列表进行排序,以查找与今天最近的日期?

SQL更新,在2个额外的表上使用内部连接

如何在联接条件不匹配时按日期获取上一条记录

在Golang中管理数据库事务的简洁方法

使用SQL创建列出两个时间戳之间小时数的列

在查询Oracle SQL中创建替代ID

将JSON文件导入Postgres 16数据库时出错(22P04上次预期列之后的额外数据)

SQL数据库规范化与数据插入

在子窗口SQL Presto中使用特定条件执行值计数

每个学校 Select N个最新的行,但跳过同一学生的重复行

在Power Bi中将SQL代码转换为DAX

如何创建snowflake表(动态查找数据类型)并从阶段加载(AWS S3)?

根据标识符将两行合并为一行

根据具有特定值的 ID 创建自定义组

在 SQL Server 中合并两个 XML 列

计算 BigQuery 中列的中值差 - 分析函数不能作为聚合函数的参数

删除重复记录但保留最新的SQL查询

使用给定的变量对在循环中执行更新语句

检索具有相同位置的最小和最大store 数量