我将HSQLDB2.0和JPA2.0用于我当前的项目,并且在DB中有很少的日期列。
我想在日期列上运行通配符查询。我怎么能这样做?
例如:如果我的数据库包含两行,日期值为:10-01-2011和15-02-2011
我的搜索条件为“%10-01%”,结果应为10-01-2011。
否则,如果搜索条件为“%2011%”,则需要使用选择查询获取这两行。
提前致谢,
萨蒂亚
答案 0 :(得分:0)
您可以定义包含日期副本的VARCHAR类型的自动生成列。然后,您可以使用LIKE谓词和REGEXP_MATCHES()函数执行查询。列定义的示例如下:
DATEGEN VARCHAR(10) GENERATED ALWAYS AS (CAST(DATECOL AS VARCHAR(10))
请注意,DATE的字符串表示形式为“2011-02-26”,您的查询字符串应遵循此模式。
答案 1 :(得分:0)
这可以通过以下格式实现:
select date_birth from member where to_char(date_birth,'MM-yyyy') like '%02-2011%'
select date_birth from member where to_char(date_birth,'MM-dd') like '%02-15%'
select date_birth from member where to_char(date_birth,'dd-yyyy') like '%30-2011%'
此致
萨蒂亚