[英]how to use find_in_set of mySQL in SYBASE?
以前,我在mySQL
使用find_in_set(idField,:ids)
刪除或更新ID以逗號分隔的多字段,例如:
UPDATE USER SET name = 'a' WHERE find_in_set(id,'1,2,3,4') > 0
如何自定義查詢並在SyBase中使用它?
注意:您沒有提到正在使用哪種Sybase數據庫產品(ASE?SQLAnywhere?IQ?Advantage?),也沒有提到版本。 盡管ASE沒有類似於find_in_set()的東西,但是我不能代表其他數據庫產品。
從ASE角度來看,您有幾種選擇:
創建自己的用戶定義函數; 您具有T-SQL(自ASE 15.0.2起)和Java選項
建立動態查詢並通過execute()提交
重寫查詢以使用可用的ASE函數(例如patindex(),charindex())
重寫查詢以使用like運算符( 有關非MySQL數據庫的示例,請參見find_in_set()的替代方法 )
由於Sybase沒有像find_in_set這樣的函數,因此您有兩個選擇:google一個將逗號分隔的列表解析為臨時表的函數,或者將動態SQL與execute-command一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.