一个关于取值的函数问题!

wxglove 2008-06-27 01:09:44
我是初学者, 有个问题相请教一下。

DB2一个表中有一列number varchar型的,数据如下

number
abc:123445@163.com
cde:hagjsdaa@163.com

我现在想取出来“:”后面的,“@”前面的值,应该怎么弄呀!

多谢!

...全文
56 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxglove 2008-07-09
  • 打赏
  • 举报
回复
可以实现,多谢fleeting。结贴给分
edge 2008-06-30
  • 打赏
  • 举报
回复
取出第一个 : 到 第一个 @符号之间的内容
select substr(number ,locate(':',number ) + 1,locate('@',number )-locate(':',number ) - 1) from tabname
----如果你的字段里面有超过1个:,或1个@,就不一定能满足你的要求了
wxglove 2008-06-29
  • 打赏
  • 举报
回复
能搞出来就行呀!SQL语句应该怎么写呀!求教!
alex_82712 2008-06-29
  • 打赏
  • 举报
回复
是不是可以通过SP来实现,先把这个字段的所有值都取出来放到临时表,然后用游标来取值 > 冒号 < @ 号,这样就能取出你想要的数据。不过,这种方法好像比较笨。主要是写SP不会写

各位,请教你们:有没有什么好的方法,或者是途径去尽快学会写DB2的SP啊?

谢谢
cyzhang811 2008-06-28
  • 打赏
  • 举报
回复
直接用sql好像搞不定吧?
我以前做过类似的,是先查出整个字符串,然后在程序中做的字符串处理;
谁有更好的办法,共享出来学习学习啊?

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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