sql server使用杂记(二)
存储过程
CREATE PROCEDURE [dbo].[getprofitandloss]
@agentNo varchar(10),
@o0 varchar(30),
@source varchar(30),
@beginTime varchar(19),
@endTime varchar(19)
AS
declare @FName varchar(2000) //要足够长
BEGIN
set @FName='SELECT AGENT_NO FROM AGENT_INFO info
where op in ('''+ @op +''')
and source in ('''+ @source +''') and agentNo=''88888888''//''88888888''为4个单引号,('''+ @source +''')为6个单引号
ORDER BY info.agent_no;'
exec(@FName)
END
GO
调用
if (StringUtils.isNotEmpty(searchCriteria.getSource())) {
source=searchCriteria.getSource();
}else{
source="GWGLOBAL','GWFX','GWW";//注意单引号部分GWGLOBAL','GWFX','GWW
}
public List<ProfitAndLoss> getAllProfitAndLossList(
return (List<ProfitAndLoss>) getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {Query query = session.createSQLQuery("{CALL getprofitandloss(:parm1, :parm2, :parm3, :parm4, :parm5)}");
query.setParameter("parm1", agentNo);
query.setParameter("parm2", oo);
query.setParameter("parm3", source);
query.setParameter("parm4", DateUtil.getDateW3CFormat(beginTime));
query.setParameter("parm5", DateUtil.getDateW3CFormat(endTime));
System.out.println(query);
System.out.println(beginTime+" : "+endTime);
List arr = query.list();
}
});
}
注意在sqlserver中使用agentNo!='888888',这句会过滤掉888888和null。
自定义字符串切割函数。
create function f_split(@c varchar(2000),@split varchar(2))
returns @t table(col varchar(20))
as
begin
while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end
go
select * from dbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')
drop function f_split
col
--------------------
dfkd
dfdkdf
dfdkf
dffjk
sql server使用杂记(二)的更多相关文章
- SQL Server索引总结二
从CREATE开始 通过显式的CREATE INDEX命令 在创建约束时作为隐含的对象 随约束创建的隐含索引 当向表中添加如下两种约束之一时,就会创建隐含索引. 主键约束(聚集索引) 唯一约束(唯一索 ...
- 【SQL server】SQL server基础(二)
一.一些重要的SQL命令 SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数据 CREAT ...
- sql server 备份与恢复系列二 事务日志概述
1.1 日志文件与数据文件一致性 在上一章备份与恢复里了解到事务日志的重要性,这篇重点来了解事务日志. 事务日志记录了数据库所有的改变,能恢复该数据库到改变之前的任意状态.在sql server实例 ...
- 探索SQL Server元数据(二)
背景 上一篇中,我介绍了SQL Server 允许访问数据库的元数据,为什么有元数据,如何使用元数据.这一篇中我会介绍如何进一步找到各种有价值的信息.以触发器为例,因为它们往往一起很多问题. 那么如何 ...
- SQL Server进阶(二)字段类型
概述 系统数据类型详情 SqlDbType namespace System.Data { // // 摘要: // 指定要用于 System.Data.SqlClient.SqlParameter ...
- sql server使用杂记
SqlServer导出数据库 navcat for sql server中打开连接,打开数据库,右键--数据传输,常规选项卡--模式选择dbo,目标选择连接(选择你新建的库)或者文件(导出你要的sql ...
- C#连接SQL Server数据库(二)
执行SQL语句:Command对象 1.Command对象概述 Command对象是一个数据命令对象,主要功能是向数据库发送查询.更新.删除.修改操作的SQL语句.Command对象主要有以下几种 ...
- SQL server学习(二)表结构操作、SQL函数、高级查询
数据库查询的基本格式为: select ----输出(显示)你要查询出来的值 from -----查询的依据 where -----筛选条件(对依据(数据库中存在的表)) group by ----- ...
- Microsoft SQL Server学习(二)
目录 关于数据库的语法: 1.创建数据库 create database 数据库名 on primary (主文件属性(name,filename,size等)) -用逗号隔开次要主要文件和次要文件 ...
随机推荐
- Kindergarten Election
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3715 题意:有N个孩子投票选举leader,不能自己选自己.Sheldon ...
- webpack的初步使用(01)
webpack:1.安装:在项目文件下先npm init初始化,一路回车2.进入到建立的项目下:cd projectname3.安装webpack:npm install webpack --save ...
- codeforce 杀题计划
先尽量做Div 1 A B 想做难题时做C 全天学竞赛时每天至少两道Div2 (算法数据结构没学的先过,题面很长的......也先过 我的英语啊...)
- HTTP Status 500 - Could not write content: could not initialize proxy - no Session
分析出现no Session错误的原因以及给出解决方案: 使用SpringMVC + JSON数据返回时,经常会出现no Session的错误: 报错原因:因为懒加载在提取关联对象的属性值的时候发现E ...
- Django day31 contentType组件,Django的缓存
一.contentType组件 1.干什么用的? 是一个django内置的一个组件,方便我们快速的连表操作 2.这两个字段都不会在数据库中生成,他只是用来查询,插入的 -在course表中: poli ...
- C 语言程序员必读的 5 本书,你读过几本?
你正通过看书来学习C语言吗?书籍是知识的丰富来源.你可以从书中学到各种知识.书籍可以毫无歧视地向读者传达作者的本意.C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的. ...
- Django models的诡异异常RelatedObjectDoesNotExist
models代码如下: class Course(models.Model): name = models.CharField(unique=True, max_length=64) price = ...
- ansible基础知识
安装ansible epel源 第一步: 下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel- ...
- 深入Mysql字符集设置
作者: Laruence( ) 本文地址: http://www.laruence.com/2008/01/05/12.html 转载请注明出处 根据Chaos Wang的PPT整理而成, 在此 ...
- 6.11---swagger文件上传的写法【照着写就行了,主要是需要声明contentType未mutilpart---如果不设置这个,就无法识别文件的】
MultipartFile 是直接接收前台传过来的文件,File是抽象出来的文件对象,用来表示文件,一般操作都是操作的File,所以需要将MultipartFile转为File controller写 ...