首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

新手将字符型转换为数值型后,怎么保留转换前的空值

2012-04-01 
新手求教:将字符型转换为数值型后,如何保留转换前的空值?我数据库中的雨量字段是字符型,需要将其转换为数

新手求教:将字符型转换为数值型后,如何保留转换前的空值?
我数据库中的雨量字段是字符型,需要将其转换为数值型进行其他运算,可利用以下语句执行后,却将雨量字段中的空值转为0,这不是我所希望的。现在要怎么办才能使其保留空值,不转为0   ?  
        还有一个问题:就是原字段中的字符 '0.0 ',用以下语句执行后,也显示为0,如何才能使其显示为0.0   ?
     
语句:SELECT   年,   月,   日,   CONVERT(real,   雨量)   AS   日雨量   FROM   table

[解决办法]
你试试
SELECT 年, 月, 日, CONVERT(real, isnull(雨量, ' ')) AS 日雨量 FROM table
[解决办法]
语句:SELECT 年, 月, 日,
CASE WHEN 雨量 is null then ' ' else CONVERT(real, 雨量) end AS 日雨量
FROM table

[解决办法]
select 年, 月, 日,case when CONVERT(real, 雨量) <> 0 then CONVERT(real, 雨量) else 雨量 end 日雨量 from table
[解决办法]
--try

SELECT 年, 月, 日, CONVERT(雨量 as decimal(10, 1)) AS 日雨量 FROM table
[解决办法]
SELECT 年, 月, 日,
CASE WHEN 雨量 IS NOT NULL THEN CONVERT(real, 雨量) END
ELSE 雨量 AS 日雨量
FROM table
[解决办法]

case when ltrim(Rtrim(雨量)) = ' ' then null
else cast(雨量 as decimal(9,1))
end as 雨量

热点排行