mysql 中模式匹配和日期时间函数的混合

发布于 2025-01-02 18:58:56 字数 441 浏览 3 评论 0原文

我在混合模式匹配和 curdate() 函数时遇到问题。下面是表结构,其中一些字段当前日期每天都会更新。我不确定它们是否可以混合。请帮我解决这个问题。谢谢。

  ta1           ta2        ta3      ta4
a20120204     20120204  20120204  20120203
a20120204123  20120204  20120203  20120203

我希望我的类似模式为“a20120204”,即以字符“a”为前缀的当前日期。

我的非工作直观查询:

SELECT * FROM [table] WHERE ta1 LIKE 'a'+(CURDATE( ) +0)%
  • (CURDATE()+0) 将当前日期返回为 YYYYMMDD

I have problem mixing pattern match and curdate() function. Below is the table structure, where some of the fields current date is updated everyday. I am not sure whether they can be mixed.Please help me sort this out. Thanks.

  ta1           ta2        ta3      ta4
a20120204     20120204  20120204  20120203
a20120204123  20120204  20120203  20120203

I want my like pattern to be 'a20120204', which is current date prefixed by character 'a'.

My non-working intuitive query:

SELECT * FROM [table] WHERE ta1 LIKE 'a'+(CURDATE( ) +0)%
  • (CURDATE()+0) returns current date as YYYYMMDD

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

起风了 2025-01-09 18:58:56

你可以做到 - 你想要的函数是 < code>CONCAT,它将字符串连接在一起:

SELECT *
FROM tbl
WHERE ta1 LIKE CONCAT('a',(CURDATE()+0),'%');

注意 - CONCAT('a','b','%') 给出 'ab%' 等。

You can do it - the function you're after is CONCAT, which concatenates strings together:

SELECT *
FROM tbl
WHERE ta1 LIKE CONCAT('a',(CURDATE()+0),'%');

Note - CONCAT('a','b','%') gives 'ab%', etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文