Sql server 请求删除datetime中的时间而不更改数据类型

Sql server 请求删除datetime中的时间而不更改数据类型,sql-server,Sql Server,我想问一下这个 如何删除“Tanggal”列中的时间,而不更改其数据类型 如何删除“Harga”列中最后两位数字0 谢谢您可以使用dateadd()截断时间部分,如下所示: dateadd(day, datediff(day, 0, b.Tanggal), 0) as Tanggal 如果“Harga”列中有一些负值,则应使用FLOOR()和天花()函数的组合,而不是FLOOR(Harga) 这两个问题都是显示设置,应该在前端完成,而不是在数据库中完成。 declare @q TABLE (

我想问一下这个

  • 如何删除“Tanggal”列中的时间,而不更改其数据类型
  • 如何删除“Harga”列中最后两位数字0
  • 谢谢

    您可以使用
    dateadd()
    截断时间部分,如下所示:

    dateadd(day, datediff(day, 0, b.Tanggal), 0) as Tanggal
    

    如果“Harga”列中有一些负值,则应使用FLOOR()和天花()函数的组合,而不是FLOOR(Harga)


    这两个问题都是显示设置,应该在前端完成,而不是在数据库中完成。
    declare @q TABLE
    (
        Tanggal DATETIME,
        Harga   MONEY
    )
    
    INSERT @q
    VALUES
    ('2014-02-02', 1200000),
    ('2013-02-02', 1200000),
    ('2013-02-02', 1200000),
    ('2014-12-29 16:25:53.000', 1200000)
    
    SELECT CAST(Tanggal AS DATE) AS Tanggal, 
      CAST(FLOOR(Harga) AS INT) AS Harga
    FROM @q