Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server-2008列数据类型_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

SQL Server-2008列数据类型

SQL Server-2008列数据类型,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有下面的Case语句,我正在将它插入一个新表中。新表下的列是Varchar,但我需要它作为INT。我使用Alter station更改了数据类型,但我经常删除并创建相同的表。有没有办法让新表为下面的语法创建INT而不是varchar的数据类型 CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL THEN '0' ELSE '1' END Enrolled' 去掉0和1之间的单引号: CASE WHEN F.END_DATE IS

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

CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL  THEN '0' ELSE '1' END Enrolled'

去掉0和1之间的单引号:

CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL  THEN 0 ELSE 1 END Enrolled' 
请尝试以下操作:

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

如果您想要一个
INT
而不是
VARCHAR
,那么为什么要使用
然后使用“0”ELSE“1”END
而不是
然后使用0 ELSE 1 END