Sql Server通过BCP数据导出Excel
1.1. bcp的主要参数介绍
-- 这里是创建一个临时表
SELECT *
INTO TempCOrder
FROM ( SELECT '账号' a , '签约银行' b ,'子账号' c , '类型' d , '金额' e , '出入时间' f --这里是因为导出的时候Excel表没有列,这里采用union all为表增加一个列标题
UNION ALL
SELECT u.userName ,
CASE c.ConBankType
WHEN '2' THEN '农业银行'
WHEN '1' THEN '华夏银行'
END back ,
c.subuser ,
CASE f.reason
WHEN '3' THEN '库存结算'
WHEN '4' THEN '银行入金'
WHEN '5' THEN '银行出金'
WHEN '6' THEN '手工调账'
END reason ,
CONVERT(VARCHAR(24), f.changevalue) ,
CONVERT(VARCHAR(24), f.opertime, 121)
FROM dbo.Fund_Change f
INNER JOIN dbo.Trade_User u ON f.userId = u.userId
INNER JOIN dbo.Trade_FundInfo c ON f.userId = c.userId
WHERE u.[state] = '1'
AND c.[state] = '2'
AND f.opertime BETWEEN @BeginDate
AND @EndDate
+ @AgentId
AND f.reason IN ( '3', '4', '5', '6' )
UNION ALL --数据查询
SELECT '总计:' ,
'' ,
'' ,
'' ,
CONVERT(VARCHAR(24), SUM(f.changevalue)) changevalue ,
''
FROM dbo.Fund_Change f
INNER JOIN dbo.Trade_User u ON f.userId = u.userId
INNER JOIN dbo.Trade_FundInfo c ON f.userId = c.userId
WHERE u.[state] = '1'
AND c.[state] = '2'
AND f.opertime BETWEEN @BeginDate
AND @EndDate
+ @AgentId
AND f.reason IN ( '3', '4', '5', '6' ) --为表最后增加一个合计
) a
--3.用BCP命令导出到指定的文件夹下
SET @sqlCmd = 'bcp JinTong_JYRJ.dbo.TempCOrder out F:\' + @ReportFile + ' -c -U"jintongjy" -P"jtjiaoyirj!"' ;
EXEC master..xp_cmdshell @sqlCmd ;
IF EXISTS ( SELECT *
FROM sys.tables
WHERE name = 'TempCOrder' )
DROP TABLE TempCOrder ;
SET @Result = '资金变动报表查询成功' ;
RETURN 0 ;
END TRY
BEGIN CATCH
SET @Result = '资金变动报表查询失败' ;
IF EXISTS ( SELECT *
FROM sys.tables
WHERE name = 'TempCOrder' )
DROP TABLE TempCOrder ;
RETURN 1 ;
END CATCH
END
Sql Server通过BCP数据导出Excel的更多相关文章
- SQL Server 2012 数据库数据导出为脚本
转自:http://blog.csdn.net/ituff/article/details/8265822 将高版本的的SQL Server数据库移到低版本的SQL Server是一件十分蛋疼的事,最 ...
- SQL Server 2008将数据导出为脚本
之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了.现在在SQL Server 2008的Management Studio中增加了一个新特 ...
- (转)SQL Server 2008将数据导出为脚本 [SQL Server]
之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了.现在在SQL Server 2008的Management Studio中增加了一个新特 ...
- 【转载】SQL Server 2012将数据导出为脚本详细图解
前记: 从SQL SERVER 2008开始,我们就可以很方便的导出数据脚本,而无需再借助存储过程,但是SQL Server 2012和SQL Server 2008的导出脚本的过程还有一点细微的差别 ...
- SQL Server 2008将数据导出为脚本 [SQL Server]
之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了.现在在SQL Server 2008的Management Studio中增加了一个新特 ...
- SQL Server中bcp命令的用法以及数据批量导入导出
原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} { ...
- SQL Server服务器上需要导入Excel数据的必要条件
SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...
- SQL Server高速导入数据分享
SQL Server高速导入数据,能够尝试的方法例如以下:CTE.OpenRowSet/OpenDataSource.BULK INSERT.bcp.Shell. 以下依次介绍这几种办法. 1.CTE ...
- SQL Server 2012大数据导入Oracle的解决方案
在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...
随机推荐
- hdoj 4325 Flowers【线段树+离散化】
Flowers Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- [Objective-c 基础 - 2.4] 多态
A.对象的多种形态 1.父类指针指向子类对象 2.调用方法的时候,会动态监测真实地对象的方法 3.没有继承,就没有多态 4.好处:用一个父类指针可以指向不同的子类对象 5.强制转换类型之后就能使用子类 ...
- 射频识别技术漫谈(10)——识别号的格式变化【worldsing笔记】
从事RDID行业的朋友经常会遇到这样的情况,同一张ID卡,在不同厂家生产的读卡器上读出的识别号完全不一样,有时甚至差之千里.ID卡的识别号一般是在出厂时被固化在卡片的ROM里,本身是不会改变的,问题出 ...
- IAR 编译错解决Error[e16]: Segment NEAR_Z (size: 0x16d align: 0) is too long for segment definition. At least 0x83 more bytes needed.
Error[e16]: Segment NEAR_Z (size: 0x16d align: 0) is too long for segment definition. At least 0x83 ...
- android四大功能组件概要总结
1.activity 某一个activity对应于app中的一个具体的页面.而intent是具些activity都具有的同类型操作的抽象,比如Main View Edit PICK 已及所对应的数据 ...
- centos vwwareTools 拷贝文件设置
1. 在root 用户下面 在虚拟机菜单上面选择 Vwware Tools 虚拟机会将 安装文件 拷贝到桌面上面 拷贝这个文件 到 root 文件夹 /home/root 将XXX.tar.g ...
- iOS UICollectionView基础
转载自:http://www.cnblogs.com/wayne23/p/4013522.html 初始化部分: UICollectionViewFlowLayout *flowLayout= [[ ...
- 汉语转拼音pinyin4j
分享一个将汉语转成拼音的工具包:pinyin4j-2.5.0.jar,下载地址:http://download.csdn.net/detail/abc_key/7629141 使用例如以下代码 imp ...
- 【19】设计class犹如设计type
设计class 的时候,需要好好考虑下面的问题: 1.新type的对象应该如何被创建和销毁? 2.对象的初始化和对象的赋值该有什么样的差别? 3.新type的对象如果pass by value,意味着 ...
- 模板 树链剖分BFS版本
//点和线段树都从1开始 //边使用vector vector<int> G[maxn]; ],num[maxn],iii[maxn],b[maxn],a[maxn],top[maxn], ...