sql - 将 varchar 值 '71.8' 转换为数据类型 int 时转换失败

标签 sql sql-server-2008 numeric varchar

我正在尝试转换 varchar(20)字段到 numeric(10,2)为此,我正在使用此脚本:

SELECT CAST(CASE Age WHEN 'NULL' THEN 0 ELSE Age END AS numeric(10,2)) AS Age 
FROM   AgeTable

但我收到此错误:

Conversion failed when converting the varchar value '71.8' to data type int.

最佳答案

基本上与@Mikael Eriksson's solution相同,只有更多的语法糖:

SELECT ISNULL(CAST(NULLIF(Age, 'NULL') AS numeric(10, 2)), 0)
FROM AgeTable

关于sql - 将 varchar 值 '71.8' 转换为数据类型 int 时转换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9937855/

相关文章:

r - 在 R 中的数据框中将 NA 转换为数字的问题

sql - 如何解决 MS-Access 中的 "Enter Parameter value"错误

java - DELETE 查询未从数据库表中删除

SQL Server 2008 版本的 OVER(... Rows Unbounded Preceding)

tsql - ORDER BY 一个特定的行,然后是其余的

sql-server - sys.dm_db_missing_index_details 不返回任何行

string - SAS 无法识别日期格式

date - 在 SSRS 中将日期转换为 YYYYMMDD 格式的整数

SQL Server 性别互换查询

mysql - 如何将选择查询与 'negated ranges' 结合起来?