首页 > 解决方案 > 如何将varchar转换为日期格式

问题描述

我想将我的字段 (dateVar = '08/2018') 转换为真实的日期字段。实际上我只有几个月和几年,所以我只需要像一天一样添加 01。我的最终结果应该是 2018-08-01。

CREATE TABLE dateTable (
    dateVar varchar(10)
);

insert into dateTable (dateVar)
values('08/2018'),('01/2015');

我用它来转换为日期但不起作用

SELECT CONVERT(date, dateVar, 103) FROM dateTable

标签: sqlsql-servertsql

解决方案


您可以连接缺失01

SELECT CONVERT(date, '01/'+dateVar, 103)
FROM tab

DBFiddle 演示

为避免用户输入不正确的问题,您可以使用TRY_CONVERT. 如果发生转换错误,它将返回NULL


推荐阅读