之前,我在 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 运算符(有关示例,请参阅 alternate to find_in_set() for non-MySQL databases)
关于mysql - 如何在SYBASE中使用mySQL的find_in_set?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44670046/