sqlserver把一列长日期改成短日期
时间: 2024-10-14 10:03:28 浏览: 32
在SQL Server中,如果你想将一列长日期(Long Date)转换为短日期(Short Date),你可以使用DATEPART函数结合CONVERT函数来实现这个转换。假设你有一个名为`your_table`的表,其中有一列名为`long_date_column`的长日期类型(`datetime2`或`datetime`),你可以使用以下查询:
```sql
UPDATE your_table
SET short_date_column = DATEADD(day, 0, DATEPART(day, long_date_column)) + DATEPART(month, long_date_column) - 1 + '1900-01-01'
```
这行SQL首先提取出长日期中的天数(DATEPART(day))和月份(DATEPART(month)),然后减去1(因为SQL Server的月是从1开始计数的,而实际的1月需要加1天),最后加上1900年1月1日作为短日期的基准。
如果你想要创建一个新的短日期列而不改变原列,可以这样做:
```sql
SELECT DATEADD(day, 0, DATEPART(day, long_date_column)) + DATEPART(month, long_date_column) - 1 AS short_date, your_other_columns
INTO new_table
FROM your_table;
```
阅读全文