现在我在存储过程中拼了一个SQL,拼出来的语句是对的,但是无法执行得到我要的值,我想得到 v_second的值 ,应该如何写才正确?谢谢! SET @SQL=CONCAT('SELECT UNIX_TIMESTAMP(''',beginTime,''')-UNIX_TIMESTAMP(''',endTime,''') into v_second');
SELECT @SQL;
-- SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')-UNIX_TIMESTAMP('0000-00-00 00:00:00') into v_second;
PREPARE v_sql FROM @SQL;
EXECUTE v_sql;
DEALLOCATE PREPARE v_sql;
SELECT v_second;
SELECT @SQL;
-- SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')-UNIX_TIMESTAMP('0000-00-00 00:00:00') into v_second;
PREPARE v_sql FROM @SQL;
EXECUTE v_sql;
DEALLOCATE PREPARE v_sql;
SELECT v_second;
PREPARE v_sql FROM @SQL;
EXECUTE v_sql;
SELECT v_second;
DEALLOCATE PREPARE v_sql;
直接报异常,这句拼出来的SQL如下:SELECT UNIX_TIMESTAMP('2010-03-01 23:59:59')-UNIX_TIMESTAMP('2010-03-01 00:00:00') into v_second我直接把这句拼出来的写在函数中是可以查出来的,但是用拼出来的结果,再去执行就得不到值