MsSQL Select Queries背后的解释

时间:2015-09-08 09:18:14

标签: sql-server

Select count(*); -- returns 1 Select $; -- returns 0.00

是否有可能解释这些MsSQL查询结果背后的原因?

1 个答案:

答案 0 :(得分:1)

由于SQL Server将其转换为money数据类型,因此您获得0.00。使用*时,不会发生此类转换,因此会导致错误。

请参阅MSDN

  

当转换为金钱或小钱币时,假定整数为   货币单位。例如,将整数值4转换为   相当于4美元的钱(对于us_english,默认值   语言)。浮点数小数右边的数字   对于货币值,值四舍五入到小数点后四位。   正在转换为的数据类型char或varchar的表达式   整数数据类型必须只包含数字和可选的加号   或减号(+或 - )。领先的空白被忽略了。 表达   数据类型char或varchar转换为money也可以包含一个   可选小数点和前导美元符号($)。