【问题标题】:SQL Cast / Conversion Varchar to DateSQL 转换/将 Varchar 转换为日期
【发布时间】:2021-06-17 09:50:02
【问题描述】:

我正在尝试将保存为 varchar 格式的“日期”列转换为日期类型:“2014 年 3 月 15 日”,以便在下一步中按日期对条目进行排序。

到目前为止,我已经尝试过了:

select cast( `date` as date) from Kampf

产生结果“不正确的日期时间值:'2014 年 3 月 15 日'”

还有

select CONVERT(date, `date`, 101) from Kampf

这只是给我这个语法错误

"SQL-Fehler [1064] [42000]: (conn=103554) 您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本相对应的手册,了解在 'date 附近使用的正确语法, 101) 来自《奋斗》 (conn=103554) 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 Kampf 的 'date, 101) 附近使用的正确语法 (conn=103554) 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 Kampf 的 'date, 101) 附近使用的正确语法 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 Kampf 的 'date, 101) 附近使用的正确语法 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 Kampf 的 'date, 101) 附近使用的正确语法 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 Kampf 的 'date, 101) 附近使用的正确语法 LIMIT 0, 200' 在第 1 行 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 Kampf 的 'date, 101) 附近使用的正确语法 LIMIT 0, 200' 在第 1 行 "

有人知道如何解决这个问题吗?

【问题讨论】:

  • 在 MariaDB 中使用 STR_TO_DATE 函数。始终参考与您的 RDBMS 对应的文档,而不是 Google 搜索中的第一个结果。

标签: sql date varchar dbeaver


【解决方案1】:

在 MariaDB 中,您将使用 str_to_date():

select str_to_date('March 15, 2014', '%M %d, %Y')

您尝试使用的convert() 是特定于SQL Server 的语法。

【讨论】:

  • 谢谢,这解决了我的问题。我不知道特定于 SQL Server 的语法,以后会记住这一点。
猜你喜欢
  • 2019-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多