Html代码不在SQL Server中返回十进制值

时间:2015-10-20 08:31:28

标签: sql sql-server tsql

我在其中一个存储过程中有以下代码。

SELECT  
   '<table width=100% style=''FONT-SIZE: 10px; FONT-FAMILY: MS Reference Sans Serif;''><tr><td>' + 
   '</td><Other Wages</td><td al<td align=center>' +
   LTRIM(STR(0.30))+'</td></tr></table>' AS SCHEDSTATS

上面代码的问题是,它不返回小数值。上面代码的输出就像这样,

<table width=100% style='FONT-SIZE: 10px; FONT-FAMILY: MS Reference Sans Serif;'>
   <tr>
       <td></td><Other Wages</td>
       <td al<td align=center>0</td></tr></table>

(我给出了0.30十进制值,在输出中变为0。如何在上面的代码中显示小数值?

感谢您的帮助

4 个答案:

答案 0 :(得分:3)

Syntaxes

STR ( float_expression [ , length [ , decimal ] ] )

float_expression

Is an expression of approximate numeric (float) data type with a decimal point.

长度

Is the total length. This includes decimal point, sign, digits, and spaces. The default is 10.

小数

Is the number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point.

代码

SELECT STR(0.30, 3,2);
  

如果您不想要任何更改,只需要0.30不要使用STR   LTRIM((0.30))

答案 1 :(得分:2)

你的STR语法错误了。 语法是

STR(编号[,长度[,decimal_places]])

所以你需要在STR中提供小数位以查看小数值,否则它会四舍五入。

您可以在下面找到有用的链接:

<强> http://www.techonthenet.com/sql_server/functions/str.php

答案 2 :(得分:2)

这不是HTML问题。除非指定大于0的小数位数,否则STR()函数返回舍入的整数。

你必须写&#34; STR(0.30,5,2)&#34;,这意味着&#34;返回一个最多5位的字符串,带有2位小数&#34;。

结果是正确的。

答案 3 :(得分:1)

SQL Server 2008R2

select LTRIM(STR(0.30))

0

select LTRIM(STR(0.30,8,2))

0.30