标题:【求助】SQL sereve2008里的数据如何求和
只看楼主
sherlock2017
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-3-20
结帖率:0
已结贴  问题点数:20 回复次数:8 
【求助】SQL sereve2008里的数据如何求和
如图所示,将CSV文件导入SQL数据库后,数据前方有'号。。导致无法从varchar转换成int模式去求和。。困扰许久,请各位大大解答一下,万分感谢

搜索更多相关主题的帖子: SQL数据库 如图所示 如何 
2017-03-20 14:34
sherlock2017
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-3-20
得分:0 
求助啊
2017-03-21 08:49
sherlock2017
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-3-20
得分:0 
大神们帮帮忙
2017-03-21 10:02
sherlock2017
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-3-20
得分:0 
没人吗?
2017-03-21 13:46
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:20 
有2种方法:
1、就是你在EXCL中先处理后在导入
2、就是你按你现在的导入,在SQL表中处理
但你这样导入到SQL的,不能用 numeric 等数字字段,只能用字符串字段,然后用下面的语句,先处理1下
update SQL表 set SQL字段名 = replace(QL字段名,'''','')  --在SQL中的 ' 要用2个 '来代替 ,这句的意思就是把 1个 ' 替换成空格
2017-03-22 09:26
sherlock2017
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-3-20
得分:0 
回复 5楼 mywisdom88
多谢大神,转换好的数据的确把'去掉了。。。但是之后想用CAST将VARCHAR转换成INT的时候却失败了。。。该怎么办呢
2017-03-22 10:33
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用sherlock2017在2017-3-22 10:33:21的发言:

多谢大神,转换好的数据的确把'去掉了。。。但是之后想用CAST将VARCHAR转换成INT的时候却失败了。。。该怎么办呢

你自己测试下面几个,就知道了。
declare @a1 varchar(11),@n1 varchar(11)
declare @n2 int
declare @n3 numeric(9,2)

set @a1='''7654321.12'
set @n1=replace(@a1,'''','')
set @n2=cast(@n1 as numeric(9,0))
set @n3=cast(@n1 as numeric(9,2))

print @a1
print @n1
print @n2
print @n3

'7654321.12
7654321.12
7654321
7654321.12




[此贴子已经被作者于2017-3-22 16:18编辑过]

2017-03-22 16:16
sherlock2017
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-3-20
得分:0 
回复 7楼 mywisdom88
谢谢了
2017-03-23 11:13
ruicaikeji
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-4-8
得分:0 
select sum(列表名) sum from 表名;
2017-04-08 17:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475283-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112535 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved