在结果SQL Server之前添加$

时间:2015-05-27 17:36:47

标签: sql sql-server

我正在尝试使用SQL在结果的开头添加$。使用与此代码行具有相同功能的最佳方法是:

CAST(AVG(e.[myAmount]) AS DECIMAL(10,2)) AS 'Total Amount'

我知道我可以将它转换为VARCHAR并将其添加到语句的开头,但它会消除我的平均功能。

3 个答案:

答案 0 :(得分:7)

SQL Server 2012 +:

使用ActiveRecord_AssociationRelation

CONCAT('$', CAST(AVG(e.[myAmount]) AS DECIMAL(10,2))) AS 'Total Amount'

SQL Server 2008 +:

CONCAT

注意

如果您需要考虑多种货币类型,则可能不希望在查询中执行此操作。获得结果" raw"格式,然后在服务器业务逻辑中进行转换(并在那里附加相应的货币符号)。

答案 1 :(得分:2)

适用于SQL Server 2008 +

的实现
<ul>
    <li>lorem</li>
    <li>ipsum</li>
    <li>dolor</li>
    <li>sit</li>
    <li>amet</li>
    <li>consectetur</li>
    <li>adipiscing</li>
    <li>elit</li>
    <li>Vestibulum</li>
    <li>porttitor</li>
    <li>nisi</li>
    <li>purus</li>
    <li>eu</li>
    <li>pretium</li>
    <li>ipsum</li>
    <li>ultricies</li>
    <li>eu</li>
    <li>Nulla</li>
    <li>eleifend</li>
    <li>arcu</li>
    <li>dolor</li>
    <li>et</li>
    <li>vestibulum</li>
    <li>ligula</li>
    <li>lacinia</li>
    <li>sed</li>
    <li>Sed</li>
    <li>viverra</li>
    <li>tortor</li>
    <li>lorem</li>
    <li>molestie</li>
    <li>volutpat</li>
    <li>nisi</li>
    <li>volutpat</li>
    <li>a</li>
    <li>Suspendisse</li>
    <li>dolor</li>
    <li>lacus</li>
    <li>ultrices</li>
</ul>

答案 2 :(得分:0)

你可以cast向varchar这样的东西:

select '$' + CAST (CAST(AVG([myAmount]) AS DECIMAL(10,2)) as VARCHAR(13)) AS 'Total Amount' 
from average_test 

SQL Fiddle Demo