这个存储过程死活不能执行
功能 :判断是否为数字 mysql 版本5.1 linux
CREATE procedure `IsNum` (str VARCHAR(25),out result)BEGINDECLARE iResult INT ;
set @str=str;SELECT @str REGEXP '^[0-9]*$' INTO iResult;IF iResult = 1 THEN
set result=1;
ELSE
set result=0;
END IF;END单独在控制台测试时可以的 set @str='str';SELECT @str REGEXP '^[0-9]*$' INTO iResult;
Query OK, 0 rows affected
ysql> select @iResult;
+----------+
| @iResult |
+----------+
| 0 |
+----------+
1 row in set问spc为什么不支持 SELECT @str REGEXP '^[0-9]*$' INTO iResult; 他总是提示这错误??
功能 :判断是否为数字 mysql 版本5.1 linux
CREATE procedure `IsNum` (str VARCHAR(25),out result)BEGINDECLARE iResult INT ;
set @str=str;SELECT @str REGEXP '^[0-9]*$' INTO iResult;IF iResult = 1 THEN
set result=1;
ELSE
set result=0;
END IF;END单独在控制台测试时可以的 set @str='str';SELECT @str REGEXP '^[0-9]*$' INTO iResult;
Query OK, 0 rows affected
ysql> select @iResult;
+----------+
| @iResult |
+----------+
| 0 |
+----------+
1 row in set问spc为什么不支持 SELECT @str REGEXP '^[0-9]*$' INTO iResult; 他总是提示这错误??
解决方案 »
- 求一条SQL语句
- hibernate不能创建MYSQL数据库
- 初学HIbernate的查询时遇到问题
- oracle中的decode函数,如何在mysql中用自定义函数实现
- 多大的数据量的就最好不使用like查询了?
- 急!我从mysql官方网上下载了mysql5.0.27-win32,安装到我机器上无法访问mysql服务器,报如下错!
- 求助! 替换符合开头结尾范围内的的字符串
- 触发器中如何先判断结果集为空再进行插入操作
- 问个复合查询的问题
- Mysql sending data耗时过多
- 使用load data infile '路径' replace into table...而不删除之前的那条数据我应该怎么做呢?
- mysql-mmm 读取配置mmm_common.cnf role 字段为空,待高手
mysql> CREATE procedure `IsNum` (str VARCHAR(25),out result int)
->
-> BEGIN
->
-> DECLARE iResult varchar(25) ;
-> set @str1=str;
->
-> SELECT @str1 REGEXP '^[0-9]*$' INTO iResult;
->
-> IF iResult = 1 THEN
-> set result=1;
-> ELSE
-> set result=0;
-> END IF;
->
-> END
-> //
mysql> set @result=0;//
Query OK, 0 rows affected (0.00 sec)mysql> call IsNum('1344', @result)//
Query OK, 0 rows affected (0.00 sec)mysql> select @result//
+---------+
| @result |
+---------+
| 1 |
+---------+
1 row in set (0.00 sec)mysql>
BEGIN
set @str=str;
SELECT @str REGEXP '^[0-9]*$' INTO @iResult;
IF(@iResult=1) THEN
set result=1;
ELSE
set result=0;
END IF;END
set @result=0;
Query OK, 0 rows affected
mysql> call IsNum('1344', @result);
Query OK, 0 rows affectedmysql> select @result;
+---------+
| @result |
+---------+
| 1 |
+---------+
1 row in set
CREATE procedure `IsNum` (str VARCHAR(25),out result int)
BEGIN
DECLARE iResult INT;
SELECT str REGEXP '^[0-9]*$' INTO iResult;
IF iResult = 1 THEN
set result=1;
ELSE
set result=0;
END IF;
END$$这样
CREATE procedure `IsNum` (str VARCHAR(25),out result int)
没问题;