要求在不更改数据类型的情况下删除datetime中的时间

时间:2017-03-29 12:59:08

标签: sql-server

我想问一下这个

enter image description here

  1. 如何删除“Tanggal”列中的时间,而不更改其数据类型?
  2. 如何删除“Harga”栏中的最后一位数字2?
  3. 谢谢

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

如果“Harga”列中有一些负值,则应使用FLOOR()和CEILING()函数的组合,而不是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