mysql - 如何在SYBASE中使用mySQL的find_in_set?

标签 mysql 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 运算符(有关示例,请参阅 alternate to find_in_set() for non-MySQL databases)

关于mysql - 如何在SYBASE中使用mySQL的find_in_set?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44670046/

相关文章:

php - 未知列 Haversine 查询,列在查询运行时创建

php - 数据库中的第一行未通过 mysql_fetch_row 或 mysql_fetch_assoc 显示在表中

spring - 如何在使用 Spring MVC 数据源上下文发送到服务器之前加密数据库密码?

php - Sybase 扩展不起作用

MYSQL更新表设置列等于来自同一个表的SELECT

MySQL插入,如何从插入中获取增量id

mysql - 对连接数据进行排序

c# - ExecuteNonQuery() 异常未被 try-catch 捕获

paging - 如何在不创建临时表的情况下在 Sybase 中进行分页? (oracle rownum 问题)