数据库数据用CSV导出带出表头

  在数据库中把查询的数据结果以CSV导出,并把表头也导出。花了数个小时几经周折,初步实现了,应该还有更好的方式方法。
现在创建一个表格

CREATE TABLE [book] (
[bid] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bname] [char] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bauthor] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bprice] [float] NOT NULL ,
[bnumber] [int] NOT NULL CONSTRAINT [DF__book__bnumber__534D60F1] DEFAULT (0),
[bstorage] [int] NOT NULL ,
[bmeno] [char] (100) COLLATE Chinese_PRC_CI_AS NULL ,
PRIMARY KEY CLUSTERED
(
[bid]
) ON [PRIMARY]
) ON [PRIMARY]
GO

数量就看查询结果吧
select * from book

导出到 CSV的结果

查询语句给csv加上表头这里已经改成别名了。修改了一个因为要类型转换,后面就类推了。
sql 语句如下

select bid,bname,bauthor, (case when (cast(bprice as varchar(50)) )='1' then '单价'else (cast(bprice as varchar(50)) )end) as ss ,
bnumber,bstorage,bmeno
from(

select * from book
union
select '编号','书名','作家',1,2,3,'备注'
) t order by t.bid desc

执行结果如下图

导出到 CSV的结果如下图

做个记录,也是成长。

原文地址:https://www.cnblogs.com/annabook/p/2760710.html