sqlserver 保留时间列的年、月、日、时删除毫秒
时间: 2023-09-16 19:11:21 浏览: 169
您可以使用以下代码将时间列的毫秒部分删除:
```sql
SELECT DATEADD(ms, -DATEPART(ms, your_column), your_column) AS your_column_without_ms
FROM your_table
```
这将从时间列中减去毫秒部分并返回结果。如果您只想保留年、月、日和时,则可以使用以下代码:
```sql
SELECT CONVERT(datetime, CONVERT(varchar(16), your_column, 120)) AS your_column_without_ms
FROM your_table
```
这将将时间列转换为年、月、日和时,并且不包含毫秒部分。注意,这个方法将返回一个 datetime 数据类型,而不是一个时间数据类型。
相关问题
sqlserver 保留时间列的年、月、日、时、分、秒,删除毫秒
在 SQL Server 中,要保留时间列的年、月、日、时、分、秒,可以使用 DATETIME2 数据类型。要删除毫秒,可以使用 CONVERT 函数并指定格式。
例如,假设有一个名为 MyTable 的表,其中包含一个名为 MyDateTime 的 DATETIME2 列。要保留时间列的年、月、日、时、分、秒,并删除毫秒,可以执行以下 SQL 查询:
```
SELECT CONVERT(DATETIME2(0), MyDateTime) AS NewDateTime FROM MyTable
```
在此查询中,DATETIME2(0) 指定新的数据类型为 DATETIME2,精确到秒,而不是毫秒。CONVERT 函数将原始 MyDateTime 列转换为新的 DATETIME2(0) 列,并删除毫秒。查询结果将返回一个名为 NewDateTime 的列,其中包含新的日期时间值。
如果要更新表中的列并删除毫秒,可以使用 UPDATE 语句:
```
UPDATE MyTable SET MyDateTime = CONVERT(DATETIME2(0), MyDateTime)
```
此 UPDATE 语句将 MyDateTime 列的值更新为新的 DATETIME2(0) 值,并删除毫秒。
阅读全文