首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
MS-SQL Server
基础类
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
请一个字段更新的语句的写法
[已结贴,结贴人:yylzq]
加为好友
发送私信
在线聊天
yylzq
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
揭帖率:
88.57%
发表于:
2008-08-19 00:55:58
楼主
比如有数据表aaa,内有两个字段a和b。a的类型是varchar,b的类型是int。
a中的数据很多是以数字结尾的,比如'aa1'、'bb2'等,也有不是以数字结尾的,如'aaa'、'bbb'等。
现在想把所有字段a以数字结尾的记录的最后一个数字更新到b字段中,也就是说,更新后如下所示:
a b
aa1 1
bb2 2
dd8 8
ccc null
这个应该怎么实现呀?
多谢了
问题点数:
40
回复次数:
6
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
tianyusunkuangyu
等级:
可用分等级:
中农
总技术专家分:
481
总技术专家分排名:
33217
发表于:
2008-08-19 06:20:07
1
楼 得分:
14
update aaa
set b= case when patindex('%[0-9]%',right(a,1))>0 then right(a,1) else null end
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
HEROWANG
让你望见影子的墙
等级:
可用分等级:
富农
总技术专家分:
4042
总技术专家分排名:
5411
发表于:
2008-08-19 08:57:40
2
楼 得分:
13
update tb
set b=case when ascii(right(a,1)) between 48 and 57 then right(a,1) else null end
select * from tb
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
linux_ch
artist
等级:
可用分等级:
中农
总技术专家分:
194
总技术专家分排名:
73113
发表于:
2008-08-19 09:24:20
3
楼 得分:
13
update aaa set b=
(case cast(substring(a,len(a),1) as int)
when isnumeric(cast(substring(a,len(a),1) as int))
then substring(a,len(a),1) end)
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
acupofnescafe
晓风残月,黄瓜比吾瘦!
等级:
可用分等级:
贫农
总技术专家分:
285
总技术专家分排名:
55384
发表于:
2008-08-19 10:13:33
4
楼 得分:
0
楼主朋友,能说的再明白点吗?a字段如果是以数字结尾,肯定只有一位数字吗,像aa123这样的值村不存在?请您再详细说明一下.楼上各位朋友的方法在a字段的值末尾只有1位数字时,都是正确的.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yylzq
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-08-19 10:14:29
5
楼 得分:
0
多谢了。
总结了以上各位的帖子,用如下方法实现最简单:
UPDATE aaa
SET b = CASE WHEN isnumeric(RIGHT(a, 1)) = 1 THEN RIGHT(a, 1) ELSE 0 END
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yylzq
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-08-19 10:17:50
6
楼 得分:
0
多谢关注。不过我在问题里说的很清楚了,是最后一个数字更新到b字段中
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友