2016-06-28 11 views
0

を保持している場合、私は(私の選択から)番号を持つSQLは - テスト数値フィールドは、整数

col1   col2 
    1. 3.6 and 3 
    2. 3.6 and 5 

私はこの

をしたい
if(col1/col2 = integer) 
    update column 
else(col1/col2 = decimal number) 
    update column 

取得するにはどのように任意のアイデアは、数の整数または小数のですか?

+0

あなたのCOL1は常に実数/小数点以下を/フロートされている場合、その後、あなたはint型の出力とそれを分けるあなたが – TheGameiswar

+0

を唱えない限り、小数点以下場合は、チェックするためにこれを使用することができINTになることはありません値は整数に近いです: 'a.col1/a.col2 = round(a.col1/a.col2、0)の場合 'integer' else 'decimal' end' - 少なくともMySQLでは –

+0

dbmsにタグを付けます中古。いくつかの製品はここで異なった動作をします。 – jarlh

答えて

2

モジュロ1(%1)を使用できます。残りがゼロの場合は、「整数」があります。たとえば、SQL Serverと:

if (col1/col2) % 1 = 0 
    -- integer 
else 
    -- decimal 
+0

ありがとうございました – pape