Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 比较textfield值是否大于x_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 比较textfield值是否大于x

Sql 比较textfield值是否大于x,sql,sql-server,tsql,Sql,Sql Server,Tsql,如何将文本字段中的数值与任何给定值x进行比较? 我正在用TSQL编写代码 见下面的代码: DECLARE @TA_SM varchar(5000) DECLARE @TA_MSD varchar(5000) DECLARE @T_SUM int(5) SET @TA_SM = '[field name='Toelichting_advies_ISM']' SET @TA_MSD = '[field name='Toelichting_advies_MSD']' SET @T_SUM = '[

如何将文本字段中的数值与任何给定值x进行比较? 我正在用TSQL编写代码

见下面的代码:

DECLARE @TA_SM varchar(5000)
DECLARE @TA_MSD varchar(5000)
DECLARE @T_SUM  int(5)

SET @TA_SM = '[field name='Toelichting_advies_ISM']'
SET @TA_MSD = '[field name='Toelichting_advies_MSD']'
SET @T_SUM = '[field name='Offerte_totaalsom']'

IF ((@TA_SM = '') OR (@TA_MSD = '')) AND (@T_SUM >25.000)
    SELECT 1
ELSE
    SELECT 2
我收到一条错误消息,上面说:

必须声明表值@T_SUM


AND运算符前面的语句工作正常。

声明@T\u SUM int(5)
更改为
声明@T\u SUM int
。 如果您只想有5位数字,请使用
NUMERIC
而不是
INT

编辑1-完整代码

这应该在TSQL中运行,没有错误,但我不确定这是否是您要查找的结果。我在变量定义中添加了额外的引号

BEGIN
DECLARE @TA_SM varchar(5000)
DECLARE @TA_MSD varchar(5000)
DECLARE @T_SUM int

SET @TA_SM = '[field name=''Toelichting_advies_ISM'']'

SET @TA_MSD = '[field name=''Toelichting_advies_MSD'']'

SET @T_SUM = '[field name=''Offerte_totaalsom'']'

IF ((@TA_SM = '') OR (@TA_MSD = '')) AND (@T_SUM >25.000)

SELECT 1

ELSE

SELECT 2
END

我在webform builder环境中工作。@IvannickdeFreijtas您能提供一些真实的值吗?@IvannickdeFreijtas您正在分配
[field name='Offerte_totaalsom']
来设置@T_SUM,您是如何得到您在问题中所说的错误的?请发布完整的代码。尝试了这两个选项,但我仍然收到相同的错误消息。我粘贴了上面的代码,并更正了变量定义。起初,网络表单似乎消失了。再试一次,基本上得到了相同的错误代码。也许这与将输入识别为字符串而不是整数有关?也许我必须投吗?是的,我想这就是问题所在。你基本上是把一个字符串放进你的变量中,我想你想要字符串中的字段值。所以,如果我正确理解您的要求,铸造将不起作用。您需要读取字段值并将其存储在变量中。因此,您应该从某个表中进行选择以填充这些变量。我设法将输入写入基础数据库,但现在收到另一条错误消息。但我想这超出了这个范围。如果我不能解答,我会再提出一个问题。尽管如此,还是要感谢您的思考过程!