MSSQL-从字符串转换日期和/或时间时,转换失败
1、报错的sql为:
select
ID,
Test_time as 时间,
from ProcessData
where
convert(datetime,test_time,120) between convert(datetime, '2020-10-10', 120) and convert(datetime, '2024-10-11', 120)
它是将Test_time转化为datetime格式,再用between进行比较;
2、报错原因:
是由convert()函数报错引起,需要定位到哪条数据报错,修正那条数据。
3、对策:
(1)定位报错源
用于定位是表内哪条数据报错的sql如下:
select
T1.ID,
T1.ConversionStatus
from
(select
ID,
CASE WHEN TRY_CAST(Test_time AS DATE) IS NULL
THEN '无法转换' ELSE '可以转换'END AS ConversionStatus
from ProcessData
where test_time >'2024-10-08'
) T1
where ConversionStatus='无法转换'
(2)修正/删除
我这里不需要这个数据,直接删除即可。
delete from ProcessData
where test_time >'2024-10-08' AND ID='2'
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/p/18456025
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-10-10 VMware Workstation Pro15.5.1密钥