mysql 写个存储过程,把传入的时间转换成字符串,再给表赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 写个存储过程,把传入的时间转换成字符串,再给表赋值相关的知识,希望对你有一定的参考价值。

CREATE PROCEDURE test()
BEGIN

DECLARE tempParam VARCHAR(15);
SET tempParam=(select DATE_FORMAT(NOW(),'%Y%m%d%H%i%s'));
/*插入时间节点字段*/
SELECT count(*) INTO count1 FROM test1(表一);
/*给表二指定记录数更新值*/
update test1(表二) set photodate=tempParam ORDER BY id LIMIT count1;
END;
结果:报错
日志:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'SELECT count(*) INTO count1 FROM wh_stock_list;
update wh_stock_list_photo s' at line 11

参考技术A --不是练习题吧?
create PROCEDURE test()
BEGIN

 DECLARE count1 int default 0;
 DECLARE tempParam VARCHAR(15);
 SET tempParam=DATE_FORMAT(NOW(),'%Y%m%d%H%i%s');

 SELECT count(*) INTO count1 FROM test1;
 PREPARE stmt1 FROM 'update test1 set photodate=? ORDER BY id LIMIT ?';
 set @p1=tempParam;
 set @p2=count1;
 EXECUTE stmt1 USING @p1,@p2;
END;

mysql存储过程如何遍历字符串的每个字符,并把每个字符转换成int(假设都是数字字符)?

其实我就是想在存储过程中实现大整数的乘法,具体的算法参见http://blog.csdn.net/yeruby/article/details/12023733
怎么把这个算法变成mysql存储过程?求大侠解答。

参考技术A 循环,每次循环截取一位转换追问

这个我知道,可是要怎么写,语法不是很熟

追答

create procedure pro10(IN STR VARCHAR(10))
begin
declare i int;
set i=0;
while i<str.length do
str.substring(i,i+1);
set i=i+1;
end while;
end;

追问

再定义一个int变量,怎么把字符转换成int赋给变量

以上是关于mysql 写个存储过程,把传入的时间转换成字符串,再给表赋值的主要内容,如果未能解决你的问题,请参考以下文章

mysql中怎么存储数组?在线等!急!

高分求-VB 把ANSI文本转换成UTF-8,多谢!!

C# 能把字符串转换成bool 类型吗?

mysql存储过程把字段作为传入参数

mysql 中怎么把时间戳转换成正常时间

mysql 中怎么把时间戳转换成正常时间