mysql - 省略 MYSQL 存储过程参数中的额外引号

标签 mysql

这是我使用下面的调用调用的过程:

CALL abc('01-04-2011','14-04-2014','28,29,36,37,38','33,34,35,41,42,43')

但问题是下面提到的查询将 param1 放在引号中,这不会产生所需的结果。

SELECT ID FROM some_table WHERE CODE IN (param1);

(此处 param1 为“28,29,36,37,38”)

我希望查询类似于SELECT ID FROM some_table WHERE CODE IN (28,29,36,37,38)

但它运行为 SELECT ID FROM some_table WHERE CODE IN (*'28,29,36,37,38'*)

如何省略这些由于 param1 的 VARCHAR 数据类型而产生的额外引号。

最佳答案

你可以这样做:

SELECT ID FROM some_table WHERE CODE IN (REPLACE(param1,"'",''));

关于mysql - 省略 MYSQL 存储过程参数中的额外引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23054808/

相关文章:

php - 如何在没有任何循环php的情况下从数组中随机获取项目

php - 如何在查询字符串中的 post 变量中包含变量? -php

javascript - Node.js + MySQL 未获取结果或响应 Console.log

mySql root登录报错,database.yml中没有root

mysql - 输出是什么?

mysql - SQL 查询连接无法正常工作

MySQL:如何找出在级联删除中删除了哪些记录

mysql - 如何根据唯一的子行查找父行?

mysql - 错误代码 : 1064 SQL Syntax Error

mysql - nodejs连接mysql报错