You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:将nvarchar类型转换为datetime类型时出现SQL转换错误

解决SQL Server日期字符串转datetime的转换错误问题

你的转换错误根源是CONVERT函数指定的style参数与日期字符串格式不匹配:

你用的style 126对应ISO8601标准格式(yyyy-mm-ddThh:mi:ss.mmm),但你的日期字符串是dd/mm/yyyy hh:mm:ss格式,两者规则完全不兼容,导致转换失败。

正确转换方案

根据你的日期格式(日/月/年 时分秒),使用style 103(欧洲/英式日期格式)即可直接转换,无需截取字符串:

DECLARE @date nvarchar(50) = N'02/10/2015 14:26:48'

SELECT CONVERT(datetime, @date, 103)

额外说明

  • 如果你的日期实际是月/日/年(美国格式),则替换为style 101:
    SELECT CONVERT(datetime, @date, 101)
    
  • 批量转换遗留表中的日期列时(建议先备份数据),可以执行:
    -- 新增datetime类型列
    ALTER TABLE YourLegacyTable ADD ConvertedDateTime datetime;
    -- 批量转换赋值
    UPDATE YourLegacyTable
    SET ConvertedDateTime = CONVERT(datetime, YourNVarcharDateColumn, 103);
    

内容的提问来源于stack exchange,提问作者Sabyasachi Mukherjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:57:06