有谁熟悉将LOCATE与传入的字符串varialbe一起使用?我正在尝试使用它来确定存储过程中设置的字符串中是否有逗号,但是无法使其正常工作。我的代码看起来像这样
DECLARE string VARCHAR(10);
DECLARE comma_found INT;
SET string = 'hello, world';
SET comma_found = SELECT LOCATE(',',string);
IF( comma_found <> 0 ) THEN
...execute code....
END IF;
由于SELECT LOCATE,该代码将不符合要求,我无法弄清楚出了什么问题。是我的语法吗?用法?还有其他我可以用来完成此操作的字符串处理功能吗?我在Mysql的存储过程中执行此操作。
最佳答案
我已经很长时间没有使用MySQL了,所以我并不完全熟悉较新的语法,但是通过一些谷歌搜索,我相信
SET comma_found = SELECT LOCATE(',',string);
应该
SELECT @comma_found := LOCATE(',',string);
那么您可以使用@comma_found例如:
SELECT @comma_found
似乎您正在尝试将数据集分配给变量,而不是LOCATE的结果
看到这里:http://dev.mysql.com/doc/refman/5.0/en/user-variables.html
关于sql - 在存储过程中使用LOCATE字符串函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1510731/