zoukankan      html  css  js  c++  java
  • 关于SQLServer中“%”问题

    declare @iqtty float 
        set @iqtty =0.0034
    select @iqtty *1000 %10

    会报出这样的错误

    数据类型 float 和 int 在 modulo 运算符中不兼容。

    在网上找到了原因

    Transact-SQL 语法约定

    语法

    dividend % divisor


    参数
    dividend 
    要执行除法运算的数值表达式。dividend 必须为整数和货币数据类型类别中任意一种数据类型的有效表达式,或者为 numeric 数据类型。

    divisor 
    要除被除数的数值表达式。divisor 必须为整数和货币数据类型类别中任意一种数据类型或者 numeric 数据类型的任何有效表达式。

    所以正确的应该是

    declare @iqtty float 
        set @iqtty =0.0034
    select Convert(numeric(18,5),(@iqtty *1000)) %10

    相关:http://www.itpub.net/thread-1932871-1-1.html

  • 相关阅读:
    工具安装
    Windbg调试
    SQL学习
    Pwnable小结
    how2heap总结
    堆利用小结
    栈溢出利用小结
    格式化字符串利用小结
    python 节假日爬取
    selenuim学习
  • 原文地址:https://www.cnblogs.com/birdGe/p/13353988.html
Copyright © 2011-2022 走看看