2017-05-01 202 views
0

这里是我得到的指示:我不知道我在做什么错在这里,任何人都可以找到我做错了

编写一个基于的InvoiceTotal列返回四列的select语句MyInvoices表。

  1. 在第一列中,使用CAST函数返回InvoiceTotal作为小数点右侧的2位数字的十进制数。 i。
    i。提示:你可以用长度和使用类似十进制计数投“为十进制(20,2)”

  2. 第二列应使用CAST返回InvoiceTotal为VARCHAR

  3. 第三列将使用CONVERT函数返回与第一列相同数据类型的InvoiceTotal列。 i。提示:使用与问题1.a类似的十进制转换语法。

  4. 第四栏将使用CONVERT返回InvoiceTotal列VARCHAR类型,使用样式1.

这是我的代码有:

SELECT InvoiceTotal 
    CAST(InvoiceTotal AS decimal(20,2)) AS column1 
    CAST(InvoiceTotal AS varchar) AS column2 
    CONVERT(decimal, InvoiceTotal, 2) AS column3 
    CONVERT(varchar, InvoiceTotal, 1) AS column4 
FROM MyInvoices; 

任何想法,我应该做?

回答

1

你缺少某些逗号和大小varchar(),和你的转换有一个风格的参数,但我不知道这是故意的。

select 
    InvoiceTotal 
    , CAST(InvoiceTotal as decimal(20, 2)) as column1 
    , CAST(InvoiceTotal as varchar(32)) as column2 /* set a size for varchar() */ 
    , CONVERT(decimal(20, 2), InvoiceTotal) as column3 /* specify size for decimal the same as in your cast */ 
    , CONVERT(varchar(32), InvoiceTotal) as column4 /* set a size for varchar() */ 
from MyInvoices; 
相关问题