sql
如果可以,请简单点。
这个作者很懒,什么都没留下…
展开
-
sql之事务隔离级别
这四种隔离级别从低到高分别是:读未提交(READ UNCOMMITTED )、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和可串行化(SERIALIZABLE)。这些隔离级别能解决的异常情况如下表所示:读未提交,也就是允许读到未提交的数据,这种情况下查询是不会使用锁的,可能会产生脏读、不可重复读、幻读等情况。读已提交就是只能读到已经提交的内容,可以避免脏读的产生,属于 RDBMS 中常见的默认隔离级别(比如说 Oracle 和 SQL Server),但如果想要原创 2020-08-06 22:20:37 · 257 阅读 · 0 评论 -
sql之事务并发处理可能存在的异常
1、脏读:读到了其他事务还没有提交的数据。2、不可重复读:对某数据进行读取,发现两次读取的结果不同,也就是说没有读到相同的内容。这是因为有其他事务对这个数据同时进行了修改或删除。3、幻读:事务 A 根据条件查询得到了 N 条数据,但此时事务 B 更改或者增加了 M 条符合事务 A 查询条件的数据,这样当事务 A 再次进行查询的时候发现会有 N+M 条数据,产生了幻读。...原创 2020-08-06 22:16:29 · 402 阅读 · 0 评论 -
记录一次关于order by的多个字段同时排序
以前一直以为order by a1, a2 desc 时会都按照降序排序。直到今天写程序时发现一直排序达不到自己的要求。我一个个测试完才发现,第一个为默认升序,第二个才是降序。一直到今天才发现,细思极恐啊!正文:1、ORDER BY a1, a2 DESC这样写默认, a1用升序, a2降序,换言之也可以这样写ORDER BY a1 ASC, a2 DESC2、如果都用降序,必须用两个descORDER BY a1 DESC, a1 DESC...原创 2020-07-08 11:10:55 · 1172 阅读 · 0 评论 -
com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据
出现这种问题是因为在截取字段时,数据库的字段不够大,截取的长度不够的问题。如下,在数据库中的字段为varchar(1500),在截取时报错,后来发现存入的汉字在750时就开始报错了,所有我的解决方法是将字段值扩大一倍。...原创 2020-07-06 16:19:31 · 419 阅读 · 0 评论 -
记一次坑,Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘__frch_item_0‘ not found问题。
项目用的sqlserver数据库,在项目启动时,报了标题错误,找遍了xml也没找到问题,最后在实现类中找到了问题,少了一个字段。sql实现类:实际上map中要放的字段少放了一个。原创 2020-07-06 11:24:03 · 853 阅读 · 0 评论 -
sqlserver 实现复杂sql
表结构表结构在页面按照类型分类,sql实现:sql1,占位符,具体截取时间字段。selectSUBSTRING(a.tjrq,1,{sql1},占位符,具体截取时间字段。 select SUBSTRING(a.tjrq,1,sql1,占位符,具体截取时间字段。selectSUBSTRING(a.tjrq,1,{sql1}) as tjrq, tj_type,sum(a.tj_yfknum) tj_yfknum,sum(a.tj_yqsnum) tj_yqsnum,sum(a.tj_wqsnum原创 2020-06-22 17:29:50 · 352 阅读 · 0 评论