比较文本字段值是否大于x

时间:2015-04-16 08:05:39

标签: 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 = '[field name='Offerte_totaalsom']'

IF ((@TA_SM = '') OR (@TA_MSD = '')) AND (@T_SUM >25.000)
    SELECT 1
ELSE
    SELECT 2

我收到一条错误消息:

  

必须声明表值@T_SUM

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

1 个答案:

答案 0 :(得分:0)

DECLARE @T_SUM int(5)更改为DECLARE @T_SUM int。 如果您只想使用NUMERIC代替INT,则需要使用5位数。

编辑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