mysql - 使用替换为 in 子句

标签 mysql

将 id 以 Json 格式存储在数据库中

'["1454","474","545"]'

我可以构建列表 ID:

SELECT replace
 (replace(
   replace(
     replace('["1454","474","545"]','[','\'')
     ,']','\'')
   ,'"','')    
,',','\',\'')

mySql 返回“1454”、“474”、“545”

但是当我尝试从这个 ID 构建列表中列出数据库记录时:

SELECT col FROM table WHERE col in (REPLACE
  (REPLACE(
REPLACE(
    REPLACE('["1454","474","545"]','[','\'')
    ,']','\'')
,'"','')   
,',','\',\''));

即使我在第一个“REPLACE”之前添加“SELECT”,mySql 也会显示“0 条记录”

有什么帮助吗?

最佳答案

尝试下面的查询,您还需要在 in 子句中添加选择:

SELECT col FROM table WHERE col in (select REPLACE
  (REPLACE(
REPLACE(
    REPLACE('["1454","474","545"]','[','\'')
    ,']','\'')
,'"','')   
,',','\',\''));

关于mysql - 使用替换为 in 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23779342/

相关文章:

php - 无法显示来自 mySQL 服务器的数据

mysql - Laravel Eloquent Query - 计数限制()

php - 制作数组以显示所有结果

php - bbPress - 论坛不显示主题,而主题显示论坛

MySQL 工作台 : Connecting to database automatically on the startup

php - MySQL 按季节分组

php - 为什么php无法打印mysql数据库的数据?

php - 如何在 Yii 中进行多条件查询?

mysql - 在mysql中将列数据从一个表复制到另一个表中使用where子句

mysql - 按 id 对行进行分组,然后将不同的组相互比较