代码之家  ›  专栏  ›  技术社区  ›  Mr John

SQL Server-2008列数据类型

  •  -2
  • Mr John  · 技术社区  · 9 年前

    我有下面的Case Statment,我将它插入到一个新表中。新表下的列是Varchar,但我需要它作为INT。我已经使用Alter语句更改了数据类型,但我经常删除和创建相同的表。对于下面的语法,有没有办法让新表创建数据类型INT而不是varchar?

    CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL  THEN '0' ELSE '1' END Enrolled'
    
    2 回复  |  直到 9 年前
        1
  •  1
  •   user6256515    9 年前

    去掉0和1周围的单引号:

    CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL  THEN 0 ELSE 1 END Enrolled' 
    
        2
  •  0
  •   Raj Baral Gaurav Panwar    7 年前

    尝试以下操作:

    CASE WHEN coalesce(F.END_DATE,F.REASON ,0)=0 THEN 0 ELSE 1 END Enrolled