尝试清理 SQL Server SSMS 中的日期列但遇到困难;最终出现计算列错误

问题描述 投票:0回答:1

我有一个数据集,并且特定列“Last_DCR_Date”采用“varchar”数据类型格式,我的目标是将其转换为 DATE 格式,但到目前为止我还无法做到。

“Last_DCR_Date”列中的数据示例如下所示:“24-11-2023”,采用 nvarchar 格式。

我想将其转换为“2023-11-24”。 我将非常感谢您的帮助

我尝试使用以下方法创建新的(“日”,“月”,“年”)列:

更改表 mytable 添加日期作为子字符串 (Last_DCR_Date, 1, 2)

......剩下的两个依此类推。

但是完成此操作后,我尝试通过连接 3 列来创建一个新列,例如 更改表 mytable 添加 new_DCR_Date AS CONCAT_WS('/', 日, 月, 年)

但是 SQL Server 说我无法使用计算列执行此操作

sql-server date ssms calculated-columns
1个回答
0
投票

您可以将列更改为数据类型

Date
并选择具有适当格式的数据。这是示例代码:

ALTER TABLE SampleTable
ADD New_DCR_Date DATE; -- it will automatically convert if data has same format

UPDATE SampleTable
SET New_DCR_Date = CONVERT(DATE, Last_DCR_Date, 105); --yyyy-MM-dd

这是小提琴链接.

© www.soinside.com 2019 - 2024. All rights reserved.