社区
Sybase
帖子详情
新手求一SQL语句
huangjing81
2005-04-20 09:15:17
现有一表(Archive)里有一字段(ArchiveID),值为:
ArchiveID
a(1000)
b(1001)
c(1002)
ca(1003)
cb(1004)
c1(1005)
101(1006)
……
字段为字符型,括号内的值都是四位,前面的字母及数字长度不一致。请问用怎样一条语句能使去除该字段各记录后面的括号和数字,或是其它方法能达到目的也行。就像下面这种结果:
ArchiveID
a
b
c
ca
cb
c1
101
……
初学数据库,还望各位不要见笑。
...全文
91
8
打赏
收藏
新手求一SQL语句
现有一表(Archive)里有一字段(ArchiveID),值为: ArchiveID a(1000) b(1001) c(1002) ca(1003) cb(1004) c1(1005) 101(1006) …… 字段为字符型,括号内的值都是四位,前面的字母及数字长度不一致。请问用怎样一条语句能使去除该字段各记录后面的括号和数字,或是其它方法能达到目的也行。就像下面这种结果: ArchiveID a b c ca cb c1 101 …… 初学数据库,还望各位不要见笑。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yujiang930
2005-04-23
打赏
举报
回复
学习...
huangjing81
2005-04-21
打赏
举报
回复
to: easthero(easthero)
谢谢你的帮助!
还是提示 Procedure 'char_length' not found
我现在用以下语句达到了想要的效果。
select left(ArchiveID,charindex('(',ArchiveID)-1) from Archive where ArchiveID like '%(%'
直接找到括号出现的位置,然后取左。不过这样如果字段里本身就包括括号就不好整了。
easthero
2005-04-21
打赏
举报
回复
不好意思查了一下书才发现两个函数都写错了。hehe
selelct substring(ArchiveID, 1, char_length(ArchiveID)-6) from Archive;
huangjing81
2005-04-21
打赏
举报
回复
我用的Sybase,在isql里运行出现上面提示。
huangjing81
2005-04-20
打赏
举报
回复
咋没人回呢,都是高手,不屑么??
darkread
2005-04-20
打赏
举报
回复
len是肯定有的,你用的是MS SQL么?
huangjing81
2005-04-20
打赏
举报
回复
to: easthero(easthero)
你说的不行啊,提示 Procedure 'len' not found
应该是说没有这个函数吧。
easthero
2005-04-20
打赏
举报
回复
selelct substr(ArchiveID, 1, len(ArchiveID)-6) from Archive;
Sybase
2,596
社区成员
25,614
社区内容
发帖
与我相关
我的任务
Sybase
Sybase相关技术讨论区
复制链接
扫一扫
分享
社区描述
Sybase相关技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章