Sybase,几个sql使用小功能
来源:互联网 发布:手机淘宝查号在哪里查 编辑:程序博客网 时间:2024/05/21 17:39
一些实用的SQL的写法可以减少自己的程序繁琐程度,有些事情的确可以通过sql让所需要的数据在rs里面就能获取:
1. 将数据库中的几个字段合为一个字段输出:
-- 主要使用convert将其它非varchar类型的转为统一类型再进行加的操作
select column1+','+convert(varchar(1),column2) as column from mytable
2. 按表中某个字段分类,并将每一类的数据记录数输出
-- 按type分类,将每一类type(1,2,3)的记录数作为count_num输出,并且对 column1进行去重,比如记录中column1的值为"test"的有两条,但只作为一条统计
select count(distinct column1) as count_num from mytable where type in(1,2,3) group by type order by type asc
3. 多个字段同时计算sum并输出,按一定的时间条件
-- 分别计算clm1,,,的sum
select sum(clm1) as out1, sum(clm2) as out2, sum(clm3) as out3 from mytable where convert(varchar,sdate ,112)='2015-01-21 12:11:10"
4. sybase的后台分页与oracle不同:
a. Sybase分两步:
(1) 将表复制一份,并在复制表里面增加自增的identity类型的字段(类似oracle表里面自有的rownum字段);
select *,ids=identity(9) into mytemptable from mydataTable
(2) 使用select top结合identify类型字段将记录查出:
select top 100 from mytemptable where ids > (pageSize * (pageNow - 1)) and ids <= (pageSize * pageNow)
5. Java程序逻辑中如果需要大批量执行sql语句,可以按批次执行,比如每批次300条,但对于insert来说效率还是很低,因为数据库有日志操作
public static int executeBatchSql(List<String> batchsql) {
int count = batchsql.size();
Connection conn = null;
Statement stmt = null;
int[] result = new int[batchsql.size()];
try {
conn = DBConnection.getConnection();
stmt = conn.createStatement();
for (int i = 0; i < count; i++)
{
// 将sql加入批处理池
stmt.addBatch(batchsql.get(i));
if ((i>0 && i % 300 == 0) || i == batchsql.size() - 1){
result = stmt.executeBatch();
}
if (i !=0 && i % 300 == 0) {
// 每批次后重新建立链接
DBConnection.releaseResources();
conn = DBConnection.getConnection();
stmt = conn.createStatement();
}
}
return result.length;
} catch (Exception ex)
{
ex.printStackTrace();
return -1;
} finally {
// 释放数据库资源
DBConnection.releaseResources();
}
}
6. 其它还有,后续再补充编辑该帖;
- Sybase,几个sql使用小功能
- iOS地图定位使用几个小功能
- iOS地图定位使用几个小功能
- PL/SQL Developer几个使用小技巧
- 使用sybase 应该注意得几个地方
- sql 几个功能
- UltraEdit 的复制、粘贴功能,其他几个使用小技巧
- iOS地图定位使用几个小功能(刚刚)
- SQL几个小函数
- 几个sql小知识
- Linux的几个常用小功能
- javascript实现的几个小功能
- 微博的几个小功能
- sybase使用
- sybase审计功能
- sql server中的几个小知识
- Sybase SQL Server索引的使用和优化
- Sybase ASE15.0.2中使用嵌入式SQL/C编程
- 定期删除服务器日志
- 织梦dedecms实现自动登录的方法
- ubuntu永久修改主机名
- sublime 的安装
- Keil C51 Data Overlaying
- Sybase,几个sql使用小功能
- mysql 对用户操作的语句
- Android 中存储路径
- HttpServletResponse得到的四种方法
- maven入门:一个简单的maven项目
- 页面流媒体播放器标签
- maven 建立本地仓库
- 如何添加或删除ubuntu用户和组
- Android apk动态加载机制的研究