2011-03-08 1159 views

回答

3

如果你它们导入到SQL Server表

update tbl 
set theColumn = NULL 
WHERE theColumn = 'NaN' 

,如果它们是字符串“男” 对于列包含'南的这列的值转换为NULL,它必须是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, ... 
+0

和转换到零?? – cMinor 2011-03-08 20:17:06

2

CASE WHEN IsNumeric(column)=0 THEN 0 ELSE column怎么样?

+0

它在“Select语句”中看起来如何? – cMinor 2011-03-08 20:18:14

+0

当IsNumeric(column)= 0时的SELECT CASE THEN 0 ELSE column END' – 2011-03-08 20:20:56

+0

运行此:-) SELECT IsNUMERIC('2d4') – SQLMenace 2011-03-08 20:22:09

1
SELECT NULLIF('NaN', ColumnName) 

例如

DECLARE @d VARCHAR(3) ='NaN' 

SELECT NULLIF('NaN', @d) 

为0

DECLARE @d VARCHAR(7) ='NaN' 

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