Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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 在SQL中将NaN值转换为NULL,或将NaN值转换为0_Sql Server - Fatal编程技术网

Sql server 在SQL中将NaN值转换为NULL,或将NaN值转换为0

Sql server 在SQL中将NaN值转换为NULL,或将NaN值转换为0,sql-server,Sql Server,我在注册表中有包含NaN值的值(它们来自MATLAB)。在SQL中,如何将它们转换为NULL,或者最好是0?如果已将它们导入SQL Server表中 update tbl set theColumn = NULL WHERE theColumn = 'NaN' 如果列值是字符串“NaN”,则将其转换为NULL 要使列包含“NaN”,它必须是varchar,因此如果您更喜欢0,则该列将是字符串“0” update tbl set theColumn = '0' WHERE theColumn =

我在注册表中有包含NaN值的值(它们来自MATLAB)。在SQL中,如何将它们转换为NULL,或者最好是0?

如果已将它们导入SQL Server表中

update tbl
set theColumn = NULL
WHERE theColumn = 'NaN'
如果列值是字符串“NaN”,则将其转换为NULL 要使列包含“NaN”,它必须是varchar,因此如果您更喜欢0,则该列将是字符串“0”

update tbl
set theColumn = '0'
WHERE theColumn = 'NaN'
在select语句中,可以使用

SELECT NULLIF(theColumn, 'NaN') as NullifiedTheColumn, ...
SELECT CASE theColumn when 'NaN' then '0' else theColumn end as ZeroedTheColumn, ...

如果IsNumeric(column)=0,那么0 ELSE column的情况如何

SELECT NULLIF('NaN', ColumnName)
范例

DECLARE @d VARCHAR(3) ='NaN'

SELECT NULLIF('NaN', @d)
为了0


当IsNumeric(column)=0,然后0,否则column END运行此命令时,它在
Select语句中的外观如何:-)Select IsNumeric('2d4')IsNumeric仍然可以满足其目的,尽管它通常不适用。
DECLARE @d VARCHAR(7) ='NaN'

SELECT CASE WHEN @d = 'NaN' THEN '0' ELSE @d END