declare @var varchar(10)
set @var='true'if @var='true'
begin
      ...........
end

解决方案 »

  1.   

    谢谢,我不是这意思?我是问有没有代表逻辑值的关键字?
    谢谢了。--bit类型呀!
    他只有2种值,1或者0你可以定义1为true,0表示false或者你用char(1),'Y'为true,'N'表示false
      

  2.   

    SQL Server里可以返回boolean类型(比如exists),但没有定义boolean类型的
      

  3.   

    举例说吧:
    select --- where ----
    我想让where后面的条件永远为真,如何写代码呢?
    我知道不能写成:
    select -- where true
    而写成:select --- where 1=1,则是可以的,我就想问where 1=1还可以用什么代码可以实现这个功能。
    还如:if true then
              msgbox("为真时显示")
          endif
    或:  if .t. 
             messagebox(“为真时显示”)
          endif
    以上分别为vb,vfp中代码的示例,我就想知道类似功能在sql中是如何实现的。
    多谢各位老师了。
      

  4.   

    1.我知道不能写成:
    select -- where true
    而写成:select --- where 1=1,则是可以的,我就想问where 1=1还可以用什么代码可以实现这个功能。--楼主的似乎在钻牛角尖,要where永远为true,那么就是不用加where,这样任何资料都出来,
    select --- where 1=1等价于select ---不用where2.
    还如:if true then
              msgbox("为真时显示")
          endif
    或:  if .t. 
             messagebox(“为真时显示”)
          endif
    以上分别为vb,vfp中代码的示例,我就想知道类似功能在sql中是如何实现的。
    --这个if true then--在vb如果这样写就是都会执行,因为你是true,在sql server要是这样根本就不用判断,反正判不判断都会执行,非要类似,就if 1=1 begin ...end,这样好象没有必要!其实你要判断有意义的就可以啦
    if @T = 1 
    begin
    ...
    end 
    else
    begin 
    ...
    end
      

  5.   

    sql中只能用条件判断,真或假,没有true或false之类的东西,写法参照楼上就ok