已解决

   2

   1

SQL SERVER如何将值“Feb 13 2025 12:50PM”转换成标准时间样式
作者: 匿名 于 2025年02月20日 发布在分类 /计算机应用 /数据库
SQL SERVER如何将值“Feb 13 2025 12:50PM”转换成标准时间样式

    作者于 2025年02月20日 15:13 追加提问:
通过convert函数会报错:
SELECT CONVERT(VARCHAR(19), CONVERT(DATETIME, 'Feb 13 2025 12:50PM', 109), 120) AS FormattedDate;
运行后提示:当前命令期间出错(完成状态 0)。从字符串转换日期和/或时间时,转换失败。
 采纳答案

匿名用户 2025-02-20 15:17
方法一:设置当前服务器日期样式为需要转换的时间样式
SET DATEFORMAT MDY;  -- 设置日期格式为月-日-年
SELECT CONVERT(VARCHAR(19), CONVERT(DATETIME, 'Feb 13 2025 12:50PM'), 120);


若是仍然提示错误,可能是因为 SQL Server 的语言环境设置不支持 `Feb` 这样的英文月份缩写。可以通过设置 `SET LANGUAGE` 来切换到英语环境:

方法二:

SET LANGUAGE English;
SELECT CONVERT(VARCHAR(19), CONVERT(DATETIME, 'Feb 13 2025 12:50PM'), 120);

注意:使用 SET LANGUAGE English; 语句可以临时将当前会话的语言环境设置为英语,从而确保 SQL Server 能够正确解析英文月份缩写(如 Feb)和时间格式。这种方法在处理特定格式的日期时间字符串时非常有效,但它只会影响当前会话,不会对服务器的原始配置产生任何持久性影响


已无更多答案
知识分享平台 -V 5.1.4 -大信谛威