bin
发布于

可以写入 '%VALUE%' 以使其自动获取当前年份

查询如下所示:month.ty 的数据类型为文本

  month.ty LIKE '%2024%'

我正在努力让它成为一年,而不必在年底时更改它。就像 get current year.

我尝试了加特殊字符:

  month.ty LIKE '%' + YEAR(current_timestamp) + '%'

这样,无论我在加号内放入什么,它都会弹出一个错误。 错误为:警告:#1292 截断不正确的 DOUBLE 值:'%'

也像这样:

  month.ty LIKE YEAR(CURRENT_TIMESTAMP)

在这种情况下,它不返回任何内容。但这是 probbaby,因为它没有进行比较,因为没有通配符 '%'。

也是这样的:

  month.ty LIKE '%' + CAST(year(CURRENT_TIMESTAMP) AS varchar) + '%'

在这种情况下,它会引发错误 #1064 - 您的 SQL 语法有错误;

还尝试过:

  month.ty LIKE '%' + YEAR(GETDATE()) + '%'

引发错误 #1558 - mysql.proc 的列计数错误。预期为 21,发现 20。使用 MariaDB 100108 创建,现在正在运行 100421。请使用 mysql_upgrade 修复此错误

不确定遗漏了什么, XAMPP 版本为 8.1.6-0 / 服务器版本:10.4.21-MariaDB

浏览 (52)
点赞
收藏
1条评论
Klustron小助手
不建议将日期保留为文本格式。相反,请始终使用 date 或 timestamp 类型。 查询的问题在于,您尝试使用 operator 连接字符串,而您应该改用 function :+CONCAT() WHERE month.ty LIKE CONCAT('%', YEAR(current_timestamp), '%')
点赞
评论