TM1 : Error :Incorrect syntax Near '|' (inserting numeric value into sql query)
TM1 : Error :Incorrect syntax Near '|' (inserting numeric value into sql query)
我正在尝试将数值变量 'Value ' 插入到十进制数据库列中。
我使用了这个查询语法:
SQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '|Value|') ';
但声明数字列的方式似乎不正确,这给了我这个错误:
Error : Incorrect syntax Near '|'
我尝试将数值转换为字符串值,如下所示:
zAmoun= NumberToString(Value);
SQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '''|StringToNumber(zAmount)|''') ';
但这是一个糟糕的举动,因为它在编译中工作并且没有 return 没有错误但是在执行中它 return 这个错误是因为 table 列是小数:
Error : Error Converting data Type varchar to numeric
如果有人能帮助我了解在 sql 查询中声明数字列的正确语法是什么,我会很高兴,因为第一个声明不起作用。
非常感谢。
也许这些信息可以帮助您:
开头:请不要以大写开头的变量名。发出类似 vSQL 或 sql 的请求。
您尝试使用字符串构建 SQL-Command。孔字符串不能包含数字。 TM1 对此非常严格。每个数字都必须转换为字符串。
vsValue = NumberToString(value);
vsSQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '''|vsValue|''') ';
也许您的 SQL-Target 需要特定形式的值。例如,使用“,”作为十进制分隔符。因此,您可以使用命令 NumberToStringEx()
。
vsValue = NumberToStringEx(value, '0.0####', ',', '.');
vsSQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '''|vsValue|''') ';
here you find additional information
带引号,如果值为数字或字符串,您将为 sql-目标提供信息。所以也许有必要删除引号:
vsValue = NumberToString(value);
vsSQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '|vsValue|') ';
我正在尝试将数值变量 'Value ' 插入到十进制数据库列中。
我使用了这个查询语法:
SQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '|Value|') ';
但声明数字列的方式似乎不正确,这给了我这个错误:
Error : Incorrect syntax Near '|'
我尝试将数值转换为字符串值,如下所示:
zAmoun= NumberToString(Value);
SQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '''|StringToNumber(zAmount)|''') ';
但这是一个糟糕的举动,因为它在编译中工作并且没有 return 没有错误但是在执行中它 return 这个错误是因为 table 列是小数:
Error : Error Converting data Type varchar to numeric
如果有人能帮助我了解在 sql 查询中声明数字列的正确语法是什么,我会很高兴,因为第一个声明不起作用。
非常感谢。
也许这些信息可以帮助您:
开头:请不要以大写开头的变量名。发出类似 vSQL 或 sql 的请求。
您尝试使用字符串构建 SQL-Command。孔字符串不能包含数字。 TM1 对此非常严格。每个数字都必须转换为字符串。
vsValue = NumberToString(value);
vsSQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '''|vsValue|''') ';
也许您的 SQL-Target 需要特定形式的值。例如,使用“,”作为十进制分隔符。因此,您可以使用命令 NumberToStringEx()
。
vsValue = NumberToStringEx(value, '0.0####', ',', '.');
vsSQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '''|vsValue|''') ';
here you find additional information
带引号,如果值为数字或字符串,您将为 sql-目标提供信息。所以也许有必要删除引号:
vsValue = NumberToString(value);
vsSQL= 'INSERT INTO DB_Archive VALUES ( '''| dim1|''' , '''| dim2|''', '|vsValue|') ';