如何获得今天的日期而不是使用sql的时间

时间:2012-11-12 17:57:24

标签: sql-server tsql

  

可能重复:
  Most efficient way in SQL Server to get date from date+time?

我想仅使用今天的日期更新字段,但我现在遇到的问题是它给了我日期和时间。我想用这样的具体格式更新: 2012年11月9日 我怎么能实现这个目标?这是我目前的代码:

UPDATE MyTable  
        SET Field1 = GETDATE()

2 个答案:

答案 0 :(得分:12)

一种方法是更新并仅选择日期(而不是时间)

 UPDATE @tab SET dates=(CONVERT(VARCHAR(10),GETDATE(),103));
 SELECT CONVERT(VARCHAR, GETDATE(), 23) FROM @tab

答案 1 :(得分:3)

除了轻微的语法差异之外,这里没有太大的不同,但我建议将其包装在一个函数中。

CREATE FUNCTION [dbo].[GetDateOnly] (@Datetime datetime) 

RETURNS datetime  

AS  

BEGIN  
    RETURN CONVERT(Datetime, FLOOR(CONVERT(float,@Datetime)))  
END