22,302
社区成员




set i = 1;
while i<(select COUNT(*) from Test1);
begin
set i = i+1;
end
if (Test1.dconsigndate =='2016-06-18')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-18';
}
else if(Test1.dconsigndate =='2016-06-19')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-19';
}
这么写不行啊 [/quote][/quote]
其实我也不想这么写的
declare @i int;
set @i = 1;
while @i <(select COUNT(*) from Test1);
begin
set @i = @i +1;
end
if (Test1.dconsigndate =='2016-06-18')
{
Select * from Test1 where Test1.dconsigndate ='2016-06-18';
}
else if(Test1.dconsigndate =='2016-06-19')
{
Select * from Test1 where Test1.dconsigndate ='2016-06-19';
}
额 那个dconsigndate是Test1的字段名,记录的是时间, 能否看看 if里面该怎么写判断条件 DECLARE @i INT
变量名前面加一个@ 是局部变量,两个@ 是全局变量
局部变量在会话结束时失效,全局变量是系统预设好了的
详细介绍可以看http://blog.csdn.net/leamonjxl/article/details/6308959
2.SQL SERVER中不使用{},begin代替{,end代替}
3.while XXX begin end中begin前面不能有分号”;“
4.你在if中写的 Test1.dconsigndate =='2016-06-18',更是不知道怎么修改
1)SQL中赋值和比较都是一个等号,赋值前面加SET,比较不加。
2)按我的理解Test1.dconsigndate应该是某个表的某一列,一列可能有多行数据,是一个集合的概念,怎么能和一个值比较?何况SQL从表中取数据必须使用 SELECT * FROM TABLE WHERE……这样的句式
总结一下:我的理解,SQL是一种面向数据集合的脚本语言,它能高效快速的帮助我们取得,运算,修改某一类数据;VC、VB之类的编程语言主要是处理某一个过程或对象;使用编程语言的思维方式去学习理解SQL,只会事倍功半。
set i = 1;
while i<(select COUNT(*) from Test1);
begin
set i = i+1;
end
if (Test1.dconsigndate =='2016-06-18')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-18';
}
else if(Test1.dconsigndate =='2016-06-19')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-19';
}
这么写不行啊 [/quote] set i = 1;
while i<(select COUNT(*) from Test1);
begin
set i = i+1;
end
if (Test1.dconsigndate =='2016-06-18')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-18';
}
else if(Test1.dconsigndate =='2016-06-19')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-19';
}
这么写不行啊 set i = 1;
while i<(select COUNT(*) from Test1);
begin
set i = i+1;
end
if (Test1.dconsigndate =='2016-06-18')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-18';
}
else if(Test1.dconsigndate =='2016-06-19')
{
Select * from Test1 where Test1.dconsigndate >='2016-06-19';
}
哈哈 我这么写 语法全错 不知道该怎么改