通过sql查询不到数据,貌似是一个数据库层面的bug

能查的:


不能查的:

表结构:
– tq_finance_test.loan_give_apply_bill definition

CREATE TABLE loan_give_apply_bill (
id bigint(20) NOT NULL,
create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新时间’,
loan_out_subject_id bigint(20) NOT NULL COMMENT ‘贷出方主体id’,
loan_out_subject_name varchar(64) NOT NULL COMMENT ‘贷出方主体名称’,
loan_in_subject_id bigint(20) NOT NULL COMMENT ‘贷入方主体id’,
loan_in_subject_name varchar(64) NOT NULL COMMENT ‘贷入方主体名称’,
loan_amount bigint(20) NOT NULL DEFAULT ‘0’ COMMENT ‘贷款金额’,
loan_date date NOT NULL DEFAULT (CURRENT_DATE) COMMENT ‘贷款日期’,
expire_date date NOT NULL DEFAULT (CURRENT_DATE) COMMENT ‘到期日期’,
bill_status varchar(12) NOT NULL COMMENT ‘申请单状态’,
has_give tinyint(4) NOT NULL DEFAULT ‘0’ COMMENT ‘是否已放款’,
creator_id bigint(20) NOT NULL COMMENT ‘创建人id’,
creator_name varchar(12) NOT NULL COMMENT ‘创建人名称’,
oa_no varchar(32) NOT NULL COMMENT ‘oa流水号’,
bank_account varchar(32) NOT NULL COMMENT ‘银行账号’,
refund_way varchar(12) NOT NULL COMMENT ‘还款方式’,
loan_rate bigint(20) NOT NULL COMMENT ‘贷款利率’,
expect_give_date date NOT NULL COMMENT ‘预计放款日期’,
apply_reason varchar(512) NOT NULL COMMENT ‘申请理由’,
attach_url text NOT NULL COMMENT ‘附件’,
item text NOT NULL COMMENT ‘子项’,
approve_date date NOT NULL DEFAULT (CURRENT_DATE),
approve_remark varchar(125) NOT NULL DEFAULT ‘’ COMMENT ‘审批意见,失败的时候有’,
approve_user varchar(24) NOT NULL DEFAULT ‘’ COMMENT ‘审批人’,
register_give_user_id bigint(20) NOT NULL DEFAULT ‘0’ COMMENT ‘登记放款人id’,
register_give_user_name varchar(24) NOT NULL DEFAULT ‘’ COMMENT ‘登记放款人名称’,
register_give_remark varchar(125) NOT NULL DEFAULT ‘’ COMMENT ‘登记放款人备注’,
register_give_attach text NOT NULL COMMENT ‘登记放款人附件’,
refund_amount bigint(20) NOT NULL DEFAULT ‘0’ COMMENT ‘已还款金额’,
refund_clear_date date NOT NULL DEFAULT (CURRENT_DATE) COMMENT ‘贷款还清日期’,
refund_clear tinyint(4) NOT NULL DEFAULT ‘0’ COMMENT ‘贷款是否还清’,
use_allot text NOT NULL COMMENT ‘贷后信息,使用分配’,
use_allot_attach text NOT NULL COMMENT ‘贷后信息,使用分配附件’,
PRIMARY KEY (id) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT=‘贷款发放申请单’;

另外,我可以提供远程连接你们可以自行查看问题


这部分的文本发出来看下

能查的出来的呢?

通过其他date字段,例如 loan_date 字段过滤查询,会有这样的情况吗?

:thinking:没有其他作业在清数据或者改数据吧?按其他条件能查出来0803这一条么?

我通过loan_date = '2024-08-03’按道理能查出两条数据的,但是只有一条expire_date=2025-08-02的查出来,
我直接用expire_date = 2024-08-03的那天数据的id去查是能查到的

没有别作业在操作,我直接用它的id查可以把
expire_date=2024-08-03的这条数据查出来

expire_date = ‘2024-08-03’
expire_date = ‘2024-08-09’
expire_date = ‘2024-08-13’
expire_date = ‘2024-08-14’
expire_date = ‘2024-08-15’

这几条能查出来吗?

刚才试了你说的这些条件都查不出来,就expire_date = '2024-08-08’能查出来

expire_date = ‘2024-08-15’
这条也查不出来吗?

你说的应该是expire_date = ‘2025-08-15’,这个能查出来

看起来是 bill_status = ‘pass’ 的就能查出来。

检查一下应用的入库模块,状态非“pass”的和等于“pass”的有啥区别?

这个是一个状态字段,我的sql查询条件都没加这个,没影响啊

我的意思是看看这些数据 insert 的时候有没有什么区别?

是通过系统程序insert的,都是一样的方式,没区别

是不是哪里开了默认筛选?

记得之前看到过类似的问题,插入一条正常的相同日期的数据,用hex函数看一下16进制是啥,跟这个不正常的数据的hex对比一下

看看代码,调用的同一个方法吗?