MySql存储过程修改了str_to_date()函数



MySql存储过程修改str_to_date()函数

当以下MySQL查询在终端模式下运行时,它工作正常

 UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/%y');
         Query OK, 75 rows affected, 2028 warnings (0.01 sec)
         Rows matched: 2028   Changed: 75   Warnings: 0

然而,当放在MySQL存储过程中时,更新查询被打乱了

 DELIMITER $$
 CREATE PROCEDURE test_upd
 BEGIN
 UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/%y');
 End $$
 DELIMITER ;

请注意str_to_date()函数已更改,因此会产生错误。

 ERROR 1064 (42000): 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'BEGIN
 UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/'
 at line 2

是否有解决这个问题的方法

谢谢。

爱德华。

您需要一个()和您的存储过程名称。您的过程体应该如下所示。关于创建过程的更多信息,请参考MySQL文档。

DELIMITER $$
 CREATE PROCEDURE test_upd()
 BEGIN
 UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/%y');
 End $$
 DELIMITER ;

最新更新