mssql sql语句过滤百分号的方法分享

转自:http://www.maomao365.com/?p=6743 

转自:http://www.maomao365.com/?p=6683

摘要:

下文讲述sql脚本中过滤百分号的方法:


实验环境:sql server 2008 R2 



百分号:在sql脚本编写中“百分号”被界定为一种通配符,那么如果我们需检索数据中是否存在百分号时,需采用何种方法呢?
下文通过实例的方式分析百分号的匹配方式。
 

摘要:

1        ---在sql server中,如果需要检索百分号是否存在数据中,我们使用以下方法:
2       ---方法1:中括号括起百分号进行过滤操作
3            select * from tableName where [列名]  like '%[%]%'  ---采用中括号括起百分号
4       ---方法2.1:  采用escape指定匹配条件中转义字符为~,对百分号进行转义查询
5        select *,'1.2' as [例2] from tableName where [列名]  like '%~%%'   escape '~' 
6         ---2.2采用escape指定匹配条件中转义字符为t,对百分号进行转义查询
7        select *,'1.3' as [例3] from tableName where [列名]  like '%t%%'   escape 't'
8  

下文将分享使用sql脚本输出excel的方法
 
此脚本可以应用于 表或视图生成excel的方法,
若需使用sql脚本输出excel数据,我们可将sql脚本生成视图或临时表,

 

然后再输出excel

输出excel语法简介:
exec
master..xp_cmdshell ‘bcp
[数据库名称].[架构名].[表名] out [excel存放位置全路径] -c -q
-S”服务器Ip” -U “sql用户名” -P “sql密码”‘

---例1:
exec 
master..xp_cmdshell 'bcp test.dbo.tableName out d:\test.xls -c -q -S"." -U "sa" -P "erp"'
---将数据库test中tablName输出值d盘test.xls文件
---服务器地址.
---sql账户sa
---sql密码erp
--------------------------------------------
例2: 根据动态文件名输出excel的方法
declare @name varchar(30) ---动态文件名
set @name ='d:\test123.xlsx'

exec 
('master..xp_cmdshell ''bcp test.dbo.tableName out '+@name+' -c -q -S"." -U "sa" -P "erp"''') ---拼接操作语句,并采用exec执行

注意事项:

*1 使用脚本输出的excel ,无表头
2
可动态文件名和动态sa账户密码生成相关信息
88bf必发娱乐,3
如果输出sql脚本的数据至excel,我们需先将sql脚本生成的数据缓存至表中,然后输出表数据至excel

xp_cmdshell相关权限需打开
*