【问题标题】:Convertir en fecha valida [closed]Convertir en fecha valida [关闭]
【发布时间】:2017-08-05 00:24:37
【问题描述】:

Necesito convertir un varchar a fecha valida en sql server。

DECLARE @SDATE AS VARCHAR(MAX) = 'Viernes, 04 Agosto 2017, 07:11:31.240 p.m.';

SELECT CONVERT(datetime, @SDATE)

PRINT(@SDATE)

门萨耶

Msg 241, Level 16, State 1, Line 3 转换时转换失败 字符串中的日期和/或时间。

【问题讨论】:

  • 这是一个英文网站。你的问题最好在Stack Overflow en Español 提问。
  • @KenWhite - 我可以回答这个问题......应该吗? :)
  • 但我理解他,哈哈哈。对不起。 @gad-arenas si es sql server 2012 usa la funcion FORMAT(VALUE,'dd/MM/yyyy h:mm:ss tt') en el select。 y dame un puntito jajaj。语言说、写或编码都没有关系……
  • @MattJohnson:当然,如果你愿意的话。但是你需要解释你的答案,而且你必须用英文解释,发帖人可能看不懂你写的东西。据推测,如果他们能够用英语提出问题,他们就会这样做。
  • 非英语内容指南:meta.stackoverflow.com/a/297680/8239061

标签: sql datetime


【解决方案1】:

我假设您指的是 Microsoft SQL Server,并且可以使用 SQL 2012 或更高版本。

使用PARSE 函数和es-MX 语言环境:

DECLARE @SDATE AS VARCHAR(MAX) = 'Viernes, 04 Agosto 2017, 07:11:31.240 p.m.'
SELECT PARSE(@SDATE AS datetime USING 'es-MX') AS Result

Working SQL Fiddle here.

【讨论】:

  • 好的,不行。结果消息 9819,级别 16,状态 1,第 2 行错误转换字符串值“Viernes,04 Agosto 2017,07:11:31.240 p.m.”使用文化“es-MX”进入数据类型日期时间。是 Azure 中的 Microsoft SQL Server。
猜你喜欢
  • 1970-01-01
  • 2015-12-13
  • 2021-04-20
  • 2020-11-12
  • 2020-08-22
  • 2017-12-22
  • 2022-06-16
  • 1970-01-01
  • 2021-08-25
相关资源
最近更新 更多