SQL Server转义符及SQL Server存储过程和Eclipse编辑器下书写的不同
来源:互联网 发布:sql case when in 编辑:程序博客网 时间:2024/04/29 20:04
存储过程中SQL语句字符串如下:
'select bettime,case when g.type=1 then "DDTC" end "订单类型",checknumber,multitimes*betmoney "订单金额",g.poscode,issue,number,p.ceganame,checksn,multitimes
from lot_wagertick as t inner join lot_wagersn as k on t.wtid=k.wtid
inner join lot_play as p on k.plid=p.plid
inner join lot_game as g on t.gaid=g.gaid
where bettime=(select max(bettime) from lot_wagertick
where stid in
(select stid from sta_pos_change
where ppid = (select ppid from pos_pos where imei='+@imei+') ) )
and t.type=1 and g.type=1 and g.status=1'
以上存储过程执行时exec [dbo].[interface_querylastlottery_condition] '245764254'会报错:
消息207,级别16,状态1,第1 行
列名'DDTC' 无效。
原因:case when g.type=1 then "DDTC" end "订单类型"
没有对DDTC的引号用转义符转换,并且把DDTC外的双引号换成单引号,其他地方的双引号不变,即变为case when g.type=1 then ''DDTC'' end "订单类型"(DDFC外是两对英文双引号)
PS: 默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符;当SET QUOTED_IDENTIFIER OFF时, "是字符串边界符, 字符串中的"必须用两个"表示。
在SQL Server存储过程中需要转义符,在Eclipse中写不需要。
'select bettime,case when g.type=1 then "DDTC" end "订单类型",checknumber,multitimes*betmoney "订单金额",g.poscode,issue,number,p.ceganame,checksn,multitimes
from lot_wagertick as t inner join lot_wagersn as k on t.wtid=k.wtid
inner join lot_play as p on k.plid=p.plid
inner join lot_game as g on t.gaid=g.gaid
where bettime=(select max(bettime) from lot_wagertick
where stid in
(select stid from sta_pos_change
where ppid = (select ppid from pos_pos where imei='+@imei+') ) )
and t.type=1 and g.type=1 and g.status=1'
以上存储过程执行时exec [dbo].[interface_querylastlottery_condition] '245764254'会报错:
消息207,级别16,状态1,第1 行
列名'DDTC' 无效。
原因:case when g.type=1 then "DDTC" end "订单类型"
没有对DDTC的引号用转义符转换,并且把DDTC外的双引号换成单引号,其他地方的双引号不变,即变为case when g.type=1 then ''DDTC'' end "订单类型"(DDFC外是两对英文双引号)
PS: 默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符;当SET QUOTED_IDENTIFIER OFF时, "是字符串边界符, 字符串中的"必须用两个"表示。
在SQL Server存储过程中需要转义符,在Eclipse中写不需要。
- SQL Server转义符及SQL Server存储过程和Eclipse编辑器下书写的不同
- Oracle和SQL Server存储过程的不同
- Oracle和SQL Server存储过程的不同
- sql developer和sql server中关于&转义的不同
- sql server写存储过程
- SQL Server中如何写存储过程
- SQL Server中如何写存储过程
- SQL Server中如何写存储过程
- SQL Server中如何写存储过程
- SQL Server的存储过程
- sql server的存储过程
- sql server的存储过程
- Delphi写的SQL Server扩展存储过程
- sql server 下写net函数,存储过程的方法
- 记录我第一次写sql server 2005的存储过程
- SQL SERVER存储过程
- SQL SERVER存储过程
- Sql Server 存储过程
- Xcode 4.1/4.2/4.3 免证书(iDP)开发+真机调试+生成IPA全攻略(99美金省了)
- Android 4.0 ICS 用户界面概述
- c++ 字符类型总结
- Eclipse设置源文件编码(转)
- MongoDB 同步异常 replSet error RS102 too stale to catch up
- SQL Server转义符及SQL Server存储过程和Eclipse编辑器下书写的不同
- 图片放大缩小算法——差值法
- android开发新浪微博客户端 完整攻略
- C++静态数据成员 静态函数
- 转载:AJAX异域访问
- 十六周任务二
- VC命名规则
- wifi管理类
- NGUI 动态添加(改)