当前位置: 首页 > 知识库问答 >
问题:

如何将自定义字符串日期格式转换为所需的输出SQL

袁高峰
2023-03-14

在SQL Server中,我有一个日期字符串,看起来像09 / 08 / 2021。表示日/月/年。因此,在这种情况下,它是2021年8月9日。我尝试将其显式转换为日期格式的每个方法都会自动将其转换为2021-09-08。因此,SQL 错误地转换为 2021 年 9 月 8 日。

SELECT TRY_CAST(Convert(VARCHAR(15),'09/08/2021',103) as date);
SELECT TRY_CAST(Convert(VARCHAR(15),'09/08/2021',111) as date);

两者都错误地给出了:

2021-09-08

期望的结果是:

2021-08-09

我已经尝试了上面的各种不同版本,但总是得到不正确的转换。我也不想改变源数据。

我很惊讶以前没有人就此提出类似的问题。

如何使用SQL服务器中的函数显式转换?

共有1个答案

岳英耀
2023-03-14

根据评论,转换是错误的。调整为

TRY_CONVERT(DATE, '09/08/2021', 103) 

这修复了问题。

 类似资料:
  • 问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 Date对象(Use 方法)以获取字符串。 输出:- 第一种格式是RFC 822 TimeZone与您的日期字符串匹配。有关在日期格式中使用的其他各种选项,请参见。

  • 我在presto上,把日期格式化为varchar,看起来像- 我如何转换这个?

  • 我得到一串零。有人能帮忙吗?

  • 问题内容: 我有一个包含日期格式的字符串。 您如何建议我以最佳方式将其转换为格式? 这就是我天真地做的事情: 但是还有其他更优雅,更有效的方法吗?就是 使用一些内置功能?快速搜寻API时,我找不到一个。 这里有人知道替代方法吗? 问题答案: 用途:

  • 问题内容: 我有包含日期​​字符串的数据。 通常情况下,它会出现在“ Jan”中。1966年第3版的字型格式,但由于国际上的差异,不一定总是那样。 我需要读取数据并将其转换为标准日期字符串(’YYYY-MM-DD’)。 基本上这就是我到目前为止所拥有的: 问题答案: Xcode 9•Swift 4 或 Xcode 8.3.2•Swift 3.1 您可以按以下方式使用NSDataDetector:

  • 问题内容: 我想将此字符串转换为以下日期格式。 我收到此错误: 问题答案: 嗯,是。您传递给的构造函数的参数表示您希望日期采用的格式。 对于“ 2013年2月26日,星期二”之类的输入有效。它甚至不是 稍微 有效期为“2013年2月26日”。您知道您正在 解析 文本,而不是对其进行格式化吗? 看起来您想要的格式字符串为“ M-dd-yyyy”或可能为“ Md-yyyy”。 如果尝试将一种格式转换为