直接放到SQL语句里.
STRSQL="SELECT 50>40"

解决方案 »

  1.   

    CREATE TABLE Tst(ID INT IDENTITY(1,1),a VARCHAR(10),b VARCHAR(10))
    INSERT Tst(a,b) SELECT '100','>90'
    UNION ALL SELECT '100','=100'
    UNION ALL SELECT '100','<100'
    DECLARE @sql VARCHAR(2000)
    SET @sql=''
    SELECT @sql=@sql + 'UNION ALL SELECT ID=' + RTRIM(ID) + ', Result=CASE WHEN ' +a+b + ' THEN 1 ELSE 0 END '  FROM Tst
    SELECT @sql=STUFF(@sql,1,9,'')SELECT * FROM Tst
    EXEC (@sql)DROP TABLE Tst/*表数据
    ID a b
    1 100 >90
    2 100 =100
    3 100 <100
    *//*结果数据
    ID Result
    1 1
    2 1
    3 0
    */
    我输出的是0或1,当然,你也可以输出TRUE或FALSE
      

  2.   

    在VB里可以
    dim c
    c=a & b
    然后用eval来计算 c 这个变量的字串值所表示的表达式值.
    vb.net里我不清楚,你试试看有没有相应的函数
      

  3.   

    CREATE PROC PRC_EVAL(@EVALSTR VARCHAR(512) )
    AS
      EXEC('SELECT ' + @EVALSTR)GOEXEC PRC_EVAL '(34+56/78-23*70)+56*123'
      

  4.   

    如果是返回布尔值,可以这样.CREATE PROC PRC_EVALBOOL(@BOLEVAL VARCHAR(256))
    AS
      EXEC('SELECT 1 WHERE ' + @BOLEVAL)GOEXEC PRC_EVALBOOL '34<67'如果返回1 ,是真,如果无值返回.则是 F