SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
当前回答
我常用的方法是在没有时间的情况下约会。。
SELECT CONVERT(VARCHAR(MAX),GETDATE(),103)
SELECT CAST(GETDATE() AS DATE)
其他回答
在这种情况下,仅限日期,我们将运行以下查询:
选择转换(VARCHAR(10),getdate(),111);
语法:
SELECT CONVERT (data_type(length)),Date, DateFormatCode)
Ex:
Select CONVERT(varchar,GETDATE(),1) as [MM/DD/YY]
Select CONVERT(varchar,GETDATE(),2) as [YY.MM.DD]
关于日期的所有日期格式代码:
DateFormatCode Format
1 [MM/DD/YY]
2 [YY.MM.DD]
3 [DD/MM/YY]
4 [DD.MM.YY]
5 [DD-MM-YY]
6 [DD MMM YY]
7 [MMM DD,YY]
10 [MM-DD-YY]
11 [YY/MM/DD]
12 [YYMMDD]
23 [yyyy-mm-dd]
101 [MM/DD/YYYY]
102 [YYYY.MM.DD]
103 [DD/MM/YYYY]
104 [DD/MM/YYYY]
105 [DD/MM/YYYY]
106 [DD MMM YYYY]
107 [MMM DD,YYYY]
110 [MM-DD-YYYY]
111 [YYYY/MM/DD]
112 [YYYYMMDD]
如果需要varchar形式的结果,则应执行
SELECT CONVERT(DATE, GETDATE()) --2014-03-26
SELECT CONVERT(VARCHAR(10), GETDATE(), 111) --2014/03/26
这已经在上文中提到。
如果需要日期和时间格式的结果,应使用以下任何查询
仅选择CONVERT(DATETIME,CONVERT)(VARCHAR(10),GETDATE(),111))作为日期2014-03-26 00:00:00.000选择CONVERT(日期时间,转换(VARCHAR(10),GETDATE(),112))作为仅日期2014-03-26 00:00:00.000声明@仅日期DATETIMESET@OnlyDate=DATEDIFF(DD,0,GETDATE())选择@OnlyDate作为OnlyDate2014-03-26 00:00:00.000
日期(日期和时间字段)和Date_FORMAT(日期和日期,“%Y-%m-%d”)都只返回日期和时间的日期
您可以对日期部分和日期格式使用以下内容:
DATENAME=>返回表示指定日期的指定日期部分的字符串
DATEADD=>DATEPART()函数用于返回日期/时间的单个部分,例如年、月、日、小时、分钟等。
DATEPART=>返回表示指定日期的指定日期部分的整数。
CONVERT()=>CONVERT函数是将一种数据类型的表达式转换为另一种数据的通用函数。这个CONVERT()函数可用于以不同格式显示日期/时间数据。