SQL语句找错 求大大帮忙

苦逼的程序员 2011-11-24 10:56:39
1.
SELECT @GoTime导入用 =CASE WHEN @GoTime <= '09' THEN '09' WHEN @GoTime >= '18' THEN '18' ELSE @GoTime END
2.
SELECT @BackTime导入用 =CASE WHEN @BackTime <= '12' THEN '12' WHEN @BackTime >= '13' THEN '18' ELSE @BackTime END

--SELECT @GoTime导入用
--SELECT @BackTime导入用
我想实现 传入参数@GoTime 和@BackTime
然后判断 如果GoTime 小于9就@GoTime导入用=9 大于18就@GoTime导入用=18 中间的话@GoTime=@GoTime导入用
如果BackTime 小于12 就@BackTime导入用=12 大于13就 @BackTime导入用 =18
中间的话 @BackTime= @BackTime导入用


可是上面的SQL 没用啊 @GoTime 和@BackTime 传入什么参考
下面--SELECT @GoTime导入用
--SELECT @BackTime导入用
都是NULL
...全文
65 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
苦逼的程序员 2011-11-24
  • 打赏
  • 举报
回复
谢谢大家
苦苦的潜行者 2011-11-24
  • 打赏
  • 举报
回复
use test
go
declare @GoTime varchar(10),@BackTime varchar(10)
declare @GoTime导入用 varchar(10),@BackTime导入用 varchar(10)
set @GoTime='15'
set @BackTime='13'
SELECT @GoTime导入用 =
CASE
WHEN @GoTime <= '09' THEN '09'
WHEN @GoTime >= '18' THEN '18'
ELSE @GoTime
END
SELECT @BackTime导入用 =
CASE
WHEN @BackTime <= '12' THEN '12'
WHEN @BackTime >= '13' THEN '18'
ELSE @BackTime
END
print '@GoTime导入用='+@GoTime导入用
print '@BackTime导入用='+@BackTime导入用
/*
@GoTime导入用=15
@BackTime导入用=18
*/
苦逼的程序员 2011-11-24
  • 打赏
  • 举报
回复
我泪流满面啊。。 原来没进
IF判断里面,。。
我错了。。
谢谢大家
散分
-狙击手- 2011-11-24
  • 打赏
  • 举报
回复
讲法没有错误 
--小F-- 2011-11-24
  • 打赏
  • 举报
回复
出了什么错误?
-晴天 2011-11-24
  • 打赏
  • 举报
回复
差不多就是这样吧,注意数据类型.
geniuswjt 2011-11-24
  • 打赏
  • 举报
回复
你咋传的

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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