我不确定我在这里做错了什么,有人能找到我做错了什么

时间:2017-05-01 15:26:20

标签: sql sql-server

以下是我给出的指示:

编写一个select语句,该语句根据MyInvoices表的InvoiceTotal列返回四列。

  1. 在第一列中,使用CAST函数将InvoiceTotal作为数字类型decimal返回,小数点右边有2位数字。
    一世。提示:你可以使用像'十进制(20,2)'

  2. 这样的长度和小数计数。
  3. 第二列应使用CAST将InvoiceTotal作为VarChar返回

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

  5. 第四列将使用CONVERT将InvoiceTotal列作为varchar返回,使用样式1.

  6. 这是我的代码:

    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 个答案:

答案 0 :(得分: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;