关于转换的问题

longyangyxm 2009-10-28 04:38:44

CREATE TABLE #TA
(
ID varchar(20)
)

INSERT INTO #TA
select '1'
UNION SELECT '2'
UNION SELECT 'AA'

select sum( cast(ID as int) )
from TA

有没有办法让转换不报错
而返回一个0
...全文
45 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
longyangyxm 2009-10-28
  • 打赏
  • 举报
回复
ISNUMERIC 返回1或0 哎 谢谢 lgxyz 谢谢 小F捧场
longyangyxm 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lgxyz 的回复:]
引用 1 楼 7761098 的回复:
SQL codeselectsum(cast(isnumeric(ID)asint) )from TA


这错了吧
SQL codeselectsum(CasewhenISNUMERIC([ID])=1then[ID]ELSE0END )from #TA
[/Quote]
额 严重不好意思 纳闷 我没注意看
只看没有报错了 就结贴了
很不好意思 谢谢了
--小F-- 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lgxyz 的回复:]
引用 1 楼 7761098 的回复:
SQL codeselectsum(cast(isnumeric(ID)asint) )from TA


这错了吧
SQL codeselectsum(CasewhenISNUMERIC([ID])=1then[ID]ELSE0END )from #TA
[/Quote]

恩 支持
--小F-- 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 7761098 的回复:]
SQL codeselectsum(cast(isnumeric(ID)asint) )from TA
[/Quote]

支持
lgxyz 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 7761098 的回复:]
SQL codeselectsum(cast(isnumeric(ID)asint) )from TA
[/Quote]

这错了吧

select sum(Case when ISNUMERIC([ID]) =1 then [ID] ELSE 0 END )
from #TA
7761098 2009-10-28
  • 打赏
  • 举报
回复

select sum( cast(isnumeric(ID) as int) )
from TA

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧