select cast(3.0 / 2  +  5.0 / 2 as int)

解决方案 »

  1.   

    declare @sql nvarchar(4000),@value numeric(10,2)
    set @sql='select @value=( 3 / 2.0) + ( 5 / 2.0)'
    exec sp_executesql @sql,N'@value numeric(10,2) output',@value output
    select @value
      

  2.   

    SELECT ( 3.0 / 2 ) + ( 5.0 / 2) 
    /前后的两个数中有一个是浮点型就可以了
      

  3.   

    To 以上:"( 3 / 2 ) + ( 5 / 2 )" 是从一个TextEditor返回的用户输入的公式,所以不能变为
    "( 3.0 / 2.0 ) + ( 5.0 / 2.0 )"这样的格式. 我能够确定是整数的运算。我想知道在SQLServer中,是否有这样的计算函数?或者其他的方法?
      

  4.   

    "( 3 / 2 ) + ( 5 / 2 )" 是从一个TextEditor返回的用户输入的公式
    在SQL中没有如此的系统函数还是在应用程序中处理吧
      

  5.   

    实际上楼主希望实现对 / 的重载: 从“整除”到“除以”。
    SQL 脚本本身不实现。
    可以考虑自己写一个存储过程以实现。
    用 select convert( int, (convert(float,3) / 2 ) + (convert(float,5) / 2) )
      

  6.   

    SELECT ( 3.0 / 2.0 ) + ( 5.0 / 2.0 )
      

  7.   

    To 以上:"( 3 / 2 ) + ( 5 / 2 )" 是从一个用户从TextBox输入的公式,我不希望在程序中处理该公式。所以我希望由数据库来完成计算。该公式可能用户输入的任何运算公式."( 3 / 2 ) + ( 5 / 2 )"仅仅是说明一个例子。bigben2008(ben) 提到的重载"/"的方式是我想得到的结果。但是我不能写一个存储过程,因为该公式由用户输入,不能确定.我能够确定是整数的运算。我想知道在SQLServer中,是否有这样的计算函数?或者其他的方法?
      

  8.   

    SQL Server中,没有这样的计算函数 还是在应用程序中处理吧
      

  9.   

    楼主要改公式的数据类型了!在SQLSERVER中是没有直接的函数!只要在每个括号里的数字后加个小数点就行了!SELECT ( 3. / 2 ) + ( 5 / 2.)