我有一个varchar(7)
列的数据,我想要将其转换为DateTime
列.
我有一个 Select ,我将其分为月、年,并将日期设置为1.我很难将这些数据插入到LogDate [datetime]
中.我试图连接SELECT,但得到的语法不正确.有没有其他方法可以做到这一点?
工作台设置
CREATE TABLE LogData
(
LogMonth [varchar](7) NOT NULL,
LogDate [datetime] NULL
);
INSERT INTO LogData ([LogMonth])
VALUES ('01/2023');
INSERT INTO LogData ([LogMonth])
VALUES ('02/2023');
INSERT INTO LogData ([LogMonth])
VALUES ('03/2023');
插入
SELECT
REVERSE(PARSENAME(REPLACE(REVERSE(LogMonth), '/', '.'), 1)) AS [Month],
REVERSE(PARSENAME(REPLACE(REVERSE(LogMonth), '/', '.'), 2)) AS [Year],
[Day] = 1
FROM
LogData
这就是我try 过的:
INSERT INTO LogData (LogDate)
SELECT
CONCAT(REVERSE(PARSENAME(REPLACE(REVERSE(LogMonth), '/', '.'), 1)) AS [Month],
REVERSE(PARSENAME(REPLACE(REVERSE(LogMonth), '/', '.'), 2)) AS [Year],
[Day] = 1)
样本