工作中遇到一个问题,在 sqlserver 表中根据 timestamp 字段值的大小进行一个增量的读取。这个数据格式比较特别,所以花了一段时间研究了一下。

timestamp 是什么

原来我看名字以为是一个时间戳,是一个 long 型,但是看了 Stack Overflow
上有关的问题,其实这个是一个版本号(version_no),是数据库自己维护的,当这条数据有变化的时候(包括新增和修改)都会自动修改增大这个值。这个值的数据格式是:
0x0000000000A42E40
这个样子的十六进制。

这个字段的读取出来是一个字符串,并且会丢失最前面的 0x 两个字符,所以要用的话需要手动补全。用sql比较的时候可以直接比较大小:
0x0000000000A42E40 > 0x0000000000A42773
这个样子

mybatis怎么判断大小来查询

xml的sql中,传入的参数应该是一个String类型的参数,同时要用 $ 来处理参数。
select * from table_a where timestamp > ${time}

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信