我有喜欢

hql="SELECT DISTINCT C FROM Client C
WHERE lower(str(C.name)) like '%"+sSearch
+ "%' OR str(day(C.birthday)) like '%"+sSearch "%';


如您所见,我可以在表中搜索sSearch。

但是问题在于sSearch可以采用dd.MM.yyyy格式或不能为日期(例如sSearch =“ John”),并且DATE类型在数据库中具有yyyy-MM-dd格式。

我想选择日期格式为dd.MM.yyyy的日期作为使用表达式'like'的字符串。

谢谢。

解决了这个问题

hql="SELECT DISTINCT C FROM Client C
WHERE lower(str(C.name)) like '%"+sSearch
+ "%' OR concat(str(day(C.birthday)),'.',str(month(C.birthday)),'.',
str(year(C.birthday))) like '%"+sSearch "%';

最佳答案

您可以使用日期格式来格式化日期字符串。

08-06 20:07