IF语句的T-SQL

问题描述:

与列的表:number1,number2,number3IF语句的T-SQL

有无查询手续:SELECT number1,number2,number3 FROM myTbl

,现在要检查

if number2 < number1 and number1 < number3 print 'OK'` 

怎么办呢?我不能写为它选择

+0

什么都尝试过你?显示您的查询请 – Raptor

+2

你想做什么?你只需要这些值为单行?或者你需要一个选择语句?我害怕如果我试图回答这个问题,你会回来说“哦,但我需要不同的...” – tenfour

+0

我编辑的问题,请再读一遍 – GeoVIP

问题有点不清楚,但如果你想打印条件,试试这个

if exists (SELECT * FROM myTbl where number2 < number1 and number1 < number3) 
    print 'Ok' 

我想你想这

if @number2 < @number1 and @number1 < @number3 
Begin 
    Print 'OK' 
End 

或者这

Select CASE WHEN (@number2 < @number1 and @number1 < @number3THEN expression1) 
Then 'OK' Else '' End 
+0

我有查询:SELECT number1,number2,number3 FROM myTbl,现在要检查number2 GeoVIP

如果您需要选择:

SELECT number1, number2, number3 
FROM YourTable 
WHERE 
    number2 < number1 
    AND number1 < number3 

SELECT 
    number1, number2, number3, 
    CASE WHEN number2 < number1 AND number1 < number3 THEN 'OK' ELSE '' END AS Res 
FROM YourTable  

像这样的事情?

declare @test int; 
select @test = case when number2<number1 and number1<number3 then 1 else 0 end 
     from test1 where id=3; 
if @test = 1 then print 'OK' 

SQL Fiddle

我想:

DECLARE @number1 int 
DECLARE @number2 int 
DECLARE @number3 int 

SELECT 
    @number1 = number1, 
    @number2 = number2, 
    @number3 = number3 
FROM myTbl 
WHERE (some condition to get only row) 

IF (@number2 < @number1 and @number1 < @number3) 
BEGIN 
    print 'OK' 
END 

declare @ID int = '' --im assuming you have some sort of ID and multiple rows in the table 
declare @num1 int = (select number1 from mytable where [ID] = @ID) 
declare @num2 int = (select number2 from mytable where [ID] = @ID) 
declare @num3 int = (select number2 from mytable where [ID] = @ID) 

IF @num2 < @num1 AND @num1 < @num3 
begin 
SELECT 'OK' 
PRINT 'OK' 
end 

ELSE 
begin 
SELECT'OK' 
PRINT 'OK' 
END