【发布时间】:2019-07-06 12:03:03
【问题描述】:
我有一个名为 templog 的表,我有一个名为“tdate”的日期列,它以“mm/dd/yy”格式存储一个字符串。我尝试使用以下语法进行转换,但收到错误消息。
SELECT convert(datetime,tdate,110) from templog
SQL 查询:文档
SELECT convert(datetime,tdate,110) from templog LIMIT 0, 25 MySQL 说:文档
1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 templog LIMIT 0, 25' 附近的 'tdate,110) 附近使用正确的语法
关于我做错了什么有什么想法吗?
【问题讨论】:
-
SQL 表/结果集的定义是 orderless,因此使用 `LIMIT 0, 25` 来获取“前”25 条记录几乎是没有意义的 不使用
ORDER BY column.. 实际上,您在这里问MySQL 给我表中的25 条记录,我不在乎我得到哪些记录...如果查询是SELECT convert(datetime,tdate,110) from templog ORDER BY column LIMIT 0, 25,那么您问MySQL 正确的事情。根据列对表中的记录进行排序,并根据排序给我前 25 条记录。 -
您使用的语法类似于 SQL Server 的语法。这和 许多 其他的东西在供应商之间是不同的。每当你得到 1064 时,去 MySQL 手册看看正确的语法是什么。在这种情况下,您将使用
CONVERT()函数并意识到它不会转换日期。然后你需要四处翻找,直到找到“日期函数”。
标签: mysql sql date syntax mariadb