這是一個例子。我得到如下串列
99X2H19JBF11534
16B4H5FHCA12592
ABE4H5FHAA08646
SE0753207527
PAK810869145
PAK810714143
PAK810547887
PAK810340854
PAK820090918
然后,我在 excel 中使用連接(并用引號和逗號將串列括起來)在 Oracle SQL Developer 中運行如下查詢。
select * from admin.repair
where repair_nbr in (
'99X2H19JBF11534',
'16B4H5FHCA12592',
'ABE4H5FHAA08646',
'SE0753207527',
'PAK810869145',
'PAK810714143',
'PAK810547887',
'PAK810340854',
'PAK820090918');
我想知道其他人是否有更簡單的方法在 Oracle SQL 開發人員中用引號和逗號包圍串列。
uj5u.com熱心網友回復:
如果您從查詢中獲得串列,只需拖放即可。
我們不僅會參考字串,還會為您用逗號分隔它們。

如果你只有文本,SQL Developer 也支持塊編輯。在編輯選單上啟用它,然后只需使用向下箭頭瀏覽每一行/curpos,然后選擇然后粘貼引號。
或者,如果您是正則運算式的粉絲,搜索和替換 (ctrl R) 面板有一個您可以打開的正則運算式模式。
免責宣告:我是 Oracle for SQL Developer 的產品經理。
uj5u.com熱心網友回復:
假設您使用查詢獲得了串列
select val from your_table order by whatever
將您的查詢更改為
select 'select * from admin.repair where repair_nbr in ('
|| listagg('''' || val || '''', ',
' order by whatever)
|| ');'
from your_table
輔助查詢的結果就是你需要的查詢。
注意:如果連接的結果太長,您可能會得到 ORA-01489,但它是不同的 - 但仍然可以解決 - 故事(然后查找 xmlagg 函式)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/425306.html
