sqlserver截取日期类型字段的 时分秒
时间: 2024-09-16 08:06:14 浏览: 48
在SQL Server中,如果你想从日期时间类型(如datetime或smalldatetime)的字段中获取日期部分并忽略时分秒,可以使用DATEPART函数结合TRUNCATE、FORMAT或者CONVERT函数。这里有几个例子:
1. 使用DATEPART和FORMAT:
```sql
SELECT DATEPART(year, your_date_column) AS 'Year',
DATEPART(month, your_date_column) AS 'Month',
DATEPART(day, your_date_column) AS 'Day'
FROM your_table;
```
这将返回指定列的年、月和日,不包括时分秒。
2. 使用TRUNCATE:
```sql
SELECT CONVERT(date, DATEADD(second, 0, your_date_column)) AS 'DateOnly'
FROM your_table;
```
这里的DATEADD函数添加0秒到原始日期,然后CONVERT将结果转换为date类型,忽略了时分秒。
3. 如果你的目标数据库版本支持,也可以直接使用新版本的DATE_FORMAT函数(SQL Server 2012及以上):
```sql
SELECT FORMAT(your_date_column, 'yyyy-MM-dd') AS 'DateWithoutTime'
FROM your_table;
```
这会返回日期字符串,格式化为'YYYY-MM-DD',不含时分秒。