SQL Server 中使用DateTime数据类型返回日期时,默认情况下它将日期和时间的组合存储为一个复杂的数据类型,包括年份、月份、日期、小时、分钟和秒。要仅返回日期,可以将返回结果格式化为简单的"dd/mm/yyyy"格式或"mm/dd/yyyy"格式,从而只提取日期部分。
以下是使用T-SQL命令行查询返回日期的方法:
SELECT CONVERT(VARCHAR(20), DateColumn, 103) AS 'Date'
FROM yourTable
WHERE CONVERT(DATE, DateColumn) = CONVERT(DATE, GETDATE());
在此查询中,我们首先将DateColumn字段使用 CONVERT 函数转换为日期类型,然后将其转换为VARCHAR数据类型,长度为20位,格式为dd/mm/yyyy或mm/dd/yyyy。
我们选择WHERE子句来过滤那些已经设置为当前日期的列,并仅保留'Date'字段中包含日期值的部分。然后我们使用SELECT查询将结果格式化为日期字符串并返回。
要按任何时间查询日期,您可以使用WHERE子句的DATEPART函数按特定时间返回日期。以下是一些更具体的时间:
SELECT CONVERT(varchar(20), DateColumn, 103) AS 'Date'
FROM yourTable
WHERE
CONVERT(date, DateColumn) = DATEPART(yyyy, GETDATE()) AND
CONVERT(varchar, DateColumn, 103) >= DATEPART(mm, GETDATE())-1 AND
CONVERT(varchar, DateColumn, 103)< DATEPART(mm, GETDATE())
这将返回月份与当前月份的第一天之前的所有日期。此外,您还可以使用各种日期函数和集合方法(如 DATEFROMPARTS 和 DATEPART 函数)来自定义日期范围和格式。总的来说,在 SQL Server 中要从DateTime数据类型中的日期中仅返回日期字段时,需要使用适当的日期格式将其从复杂类型中提取出来并返回。
领取专属 10元无门槛券
手把手带您无忧上云