新手求教:将字符型转换为数值型后,如何保留转换前的空值?
我数据库中的雨量字段是字符型,需要将其转换为数值型进行其他运算,可利用以下语句执行后,却将雨量字段中的空值转为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 雨量