关于日期函数的,一般不建议用数据库的函数。直接用帆软的函数实现,因为到时候迁移没有任何兼容的问题!!!
-------------------类似以下这个语句,你是mysql,sql server,pg数据库等都是通用的,因为它用的帆软的函数实现的,与数据库没有太大关系了----------------
以下这种写法并不推荐!!没有性能可言
select * from 表名称
where 1=1
left(日期,10)>='${format(YEARDELTA(start_dt,-1),"yyyy-MM-01")}'
left(日期,10)<='${format(YEARDELTA(start_dt,-1),"yyyy-MM-dd")}'

-----------------------------------------------------------------------------
更推荐如下这种方式,因为你用left以后会破坏数据库中的索引!而且用where 对字段使用函数其实是没有任何效率的,还有你的日期假如有时分秒的内容。那么让它小于多一天的日期,这样肯定永远会把1-15号的数据都展示完整的。2024-08-15 23:59:59 这个不管后面有多大的毫秒,也会小于16号的!
select * from 表名称
where 1=1
日期>='${format(YEARDELTA(start_dt,-1),"yyyy-MM-01")}'
日期<'${format(DATEDELTA(YEARDELTA(start_dt,-1),1),"yyyy-MM-dd")}'
