SQL语句问题

SuperZhou 2002-04-19 10:08:10
select convert(char(10),passedtime,102),convert(char(8),passedtime,108)
,tollcenterno,tollgateno,roadwayno,
left(cardno, 5),right(cardno, 10),cartype,
charge,carno,
case cardstatus
when '01' then '非法'
when '02' then '正常'
when '03' then '挂失'
when '04' then '临界'
when '05' then '透支'
when '06' then '销卡'
when '07' then '免费'
when '08' then '无卡'
when '09' then '月卡'
when '10' then '优惠'
end
from PassedCars
where passedtime between @startdatetime and @enddatetime
怎样将上面的语句赋值给varchar型字符串(要保留Select语句中的单引号)?
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
JueWu 2002-04-20
  • 打赏
  • 举报
回复
SQL语句传入的是文本,可以在要加单引号的写四个单引号
SuperZhou 2002-04-20
  • 打赏
  • 举报
回复
还是不行,肯定是加上'',各位再给点主意吧。
SuperZhou 2002-04-19
  • 打赏
  • 举报
回复
我就是用你的语句执行的,用declare @Sql varchar(4000),得到的字符串也只是增加了一点,不知为什么?你现在可以运行一下吗?
Yang_ 2002-04-19
  • 打赏
  • 举报
回复
你是不是放到字段里,那可能是你的字段不够长。
如果放到varchar变量里,那可能是你的varchar变量定义不够长。

用declare @Sql varchar(2000)
^^^^^^
SuperZhou 2002-04-19
  • 打赏
  • 举报
回复
还是不行呀,运行结果是:select convert(char(10),passedtime,102),convert(char(8),passedtime,108),
tollcenterno,tollgateno,roadwayno, left(cardno, 5),right(cardno, 10),cartype,
charge,carno,case cardstatus
when '01' then '非法' when '02' then '正常' when '03' then '挂失' when '0
理论上应该是可以的,但结果却不对
Yang_ 2002-04-19
  • 打赏
  • 举报
回复
declare @Sql varchar(2000)
set @Sql='select convert(char(10),passedtime,102),convert(char(8),passedtime,108),tollcenterno,tollgateno,roadwayno, left(cardno, 5),right(cardno, 10),cartype, charge,carno,case cardstatus when ''01'' then ''非法'' when ''02'' then ''正常'' when ''03'' then ''挂失'' when ''04'' then ''临界'' when ''05'' then ''透支'' when ''06'' then ''销卡'' when ''07'' then ''免费'' when ''08'' then ''无卡'' when ''09'' then ''月卡'' when ''10'' then ''优惠'' end from PassedCars where passedtime between @startdatetime and @enddatetime'


把一个单引号换成两个单引号

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧