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

Posted

技术标签:

【中文标题】在mysql中混合模式匹配和日期时间函数【英文标题】:mixing of pattern matching and date time functions in mysql 【发布时间】:2012-02-04 09:20:05 【问题描述】:

我在混合模式匹配和 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

【问题讨论】:

【参考方案1】:

你可以做到——你需要的函数是CONCAT,它将字符串连接在一起:

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

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

【讨论】:

以上是关于在mysql中混合模式匹配和日期时间函数的主要内容,如果未能解决你的问题,请参考以下文章

mysql date函数怎么用

lua语言:闭包模式匹配日期编译模块

SQL Date 函数

SQL Date 函数

如何在 WHERE 子句中使用混合文本和日期字段?

sql日期