簡體   English   中英

如何在SYBASE中使用mySQL的find_in_set?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM