sql - 如何将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
解决方案
您可以连接缺失01
:
SELECT CONVERT(date, '01/'+dateVar, 103)
FROM tab
为避免用户输入不正确的问题,您可以使用TRY_CONVERT
. 如果发生转换错误,它将返回NULL
。
推荐阅读
- node.js - 部署到 Firebase 托管时,NODE_ENV 变量自动设置为“生产”
- wordpress - YouTube API 未在 Wordpress 网站中显示任何内容
- windows - 与状态报告并行运行模型可执行文件
- node.js - 将 React + Express 应用程序部署到 Heroku 导致“渲染没有返回任何内容”
- arrays - 在数组中生成一系列相邻的重复值
- php - PHP 如何在推文中包含带有链接的图像
- rust - 在 Rust 中处理运算符重载的更好方法?
- oauth - Google OAuth 强制验证且无法撤消
- xamarin.forms - Android模拟器无法发现局域网上的设备
- python - 如何将 Python 代码转换为可执行文件?