簡體   English   中英

在 Javascript 存儲過程中向雪花變量添加單引號

[英]Adding single quote to Snowflake variable in Javascript Stored Procedure

我正在嘗試在字符串周圍添加單引號並將其分配給雪花存儲過程中的變量。 但是該值按原樣返回為 DEFAULT_STR 。

var DEFAULT_STR = 'UNKNOWN'

var VAL_LIST = 'EMP_ID'

VAL_LIST = VAL_LIST +" "+ "'`${DEFAULT_STR}`'" + ','+ '"SYSTEM"';

錯誤信息:

SQL compilation error: error line 1 at position 183 invalid identifier '" ${DEFAULT_STR} "' At Snowflake.execute

請告知我如何才能達到低於預期的輸出 -

預期 output:

'EMP_ID UNKNOWN, SYSTEM"

這個應該給你你想要的 output:

VAL_LIST = "'" + VAL_LIST +" "+ DEFAULT_STR + "," + "SYSTEM'";

VAL_LIST 的 output 是:

'EMP_ID UNKNOWN,SYSTEM'

試試這個,這可能有效

CREATE OR REPLACE FUNCTION str_test()
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  var DEFAULT_STR = 'UNKNOWN'
    var VAL_LIST = 'EMP_ID'
    VAL_LIST = "'" + VAL_LIST +" "+ DEFAULT_STR + ','+ 'SYSTEM"';
    return VAL_LIST;
    
$$
;

select str_test() as a from dual; 

在 JavaScript 中使用+進行字符串連接需要重復打開和關閉字符串。 它很快變得不可讀。 想象一個 200 行的 SQL 語句,在各個點都有替換。

我強烈推薦使用 JavaScript 模板文字,而不是串聯。 您可以使用反引號打開和關閉字符串。 它以這種方式支持多行字符串,您可以使用${myVariable}格式添加任何變量或表達式

所以你的字符串看起來像這樣:

VAL_LIST = `'${VAL_LIST} ${DEFAULT_STR}, SYSTEM'`;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM