繁体   English   中英

如何将变量值放入 javascript 中的另一个变量中?

[英]How to put variable value in another variable in javascript?

我有一个 sql 语句,其中应该包含变量值。 但是因为 sql 语句来自数据库检索,所以我不能这样做。

我的代码是:

    var MySQLCommand_101 = `
        SELECT PARAM_VALUE FROM MNG.GENERAL.MNG_ELT_PARAMETERS
    `;
    var stmt = snowflake.createStatement(  {sqlText:MySQLCommand_101}  );
    var resultSet = stmt.execute();
    resultSet.next();
    var VALIDATION_RESULT = resultSet.getColumnValue(1);

现在,

VALIDATION_RESULT = 'CASE WHEN DIV0(ERROR_ROWS, TOTAL_ROWS) * 100 > ${ERROR_PERCENTAGE_THRESHOLD} THEN 1 ELSE 0 END AS VALIDATION_RESULT'

在我的代码中,我分配了 ERROR_PERCENTAGE_THRESHOLD = 30。但是因为 VALIDATION_RESULT 正在执行中,并且没有编译 - 当我返回 VALIDATION_RESULT 时,我得到了字符串本身,

CASE WHEN DIV0(ERROR_ROWS, TOTAL_ROWS) * 100 > ${ERROR_PERCENTAGE_THRESHOLD} THEN 1 ELSE 0 END AS VALIDATION_RESULT

虽然我期待得到

CASE WHEN DIV0(ERROR_ROWS, TOTAL_ROWS) * 100 > 30 THEN 1 ELSE 0 END AS VALIDATION_RESULT
    

感谢您的帮助,

如果您希望将“CASE WHEN DIV0(ERROR_ROWS, TOTAL_ROWS) * 100 > 30 THEN 1 ELSE 0 END AS VALIDATION_RESULT”作为 VALIDATION_RESULT,您可以在获取值后替换变量:

var ERROR_PERCENTAGE_THRESHOLD = 30;
var MySQLCommand_101 = `
    SELECT PARAM_VALUE FROM MNG.GENERAL.MNG_ELT_PARAMETERS
`;
var stmt = snowflake.createStatement(  {sqlText:MySQLCommand_101}  );
var resultSet = stmt.execute();
resultSet.next();
var VALIDATION_RESULT_TMP = resultSet.getColumnValue(1);
var VALIDATION_RESULT = VALIDATION_RESULT_TMP.replace("${ERROR_PERCENTAGE_THRESHOLD}",ERROR_PERCENTAGE_THRESHOLD ));

在您的代码中

VALIDATION_RESULT = 'CASE WHEN DIV0(ERROR_ROWS, TOTAL_ROWS) * 100 > ${ERROR_PERCENTAGE_THRESHOLD} THEN 1 ELSE 0 END AS VALIDATION_RESULT'

将单引号 ( ' ' ) 替换为` `

VALIDATION_RESULT = `CASE WHEN DIV0(ERROR_ROWS, TOTAL_ROWS) * 100 > ${ERROR_PERCENTAGE_THRESHOLD} THEN 1 ELSE 0 END AS VALIDATION_RESULT`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM