以下のSQLを参照してください。STD 数式をテーブルに保存する必要がありますが、これを評価できません。
DROP TEMPORARY TABLE IF EXISTS _std ;
CREATE TEMPORARY TABLE _std(stdformula VARCHAR(4000), mu DECIMAL(18,9), newValue DECIMAL(18,9));
INSERT INTO _std VALUES('SQRT((POWER((5-mu), 2) + POWER((6-mu), 2) + POWER((7-mu), 2) + POWER((7-mu), 2) )/4)',5+6+7+7/4,7);
SET @temp=(SELECT REPLACE(stdformula,'mu',mu) FROM _std );
SELECT @temp;
-- @temp=> SQRT(( POWER((5-19.750000000), 2) + POWER((6-19.750000000), 2) + POWER((7-19.750000000), 2) + POWER((7-19.750000000), 2) )/2);
-- which is valid statement
SELECT SQRT(( POWER((5-19.750000000), 2) + POWER((6-19.750000000), 2) + POWER((7-19.750000000), 2) + POWER((7-19.750000000), 2) )/2);
-- 動的 SQL アプローチを使用して @temp を評価するにはどうすればよいですか?? -- 以下の準備が機能しない
PREPARE StmtStd FROM @temp;
EXECUTE StmtStd;
DEALLOCATE PREPARE Stmtstd;*