Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何提出有点规律的文本串

hello  发表于:2009-06-02 08:15:07  
复制

序列号

产品标识

 

1

wer hyre-G

2

rtyyy hdd-h

3

ddd ddee-e

4

dadf dww-t

5

daddd po-y

6

dad dadfa-erty

7

ada ddd-wer

 

我需要达到如下效果:

 产品标识很有规律的。就是字母 + 空格  + 字母  +  -    +  字母  这样的形式。

我现在需要写语句。如何分成三个字段。

比如 字段1  字段2   字段3

     wer      hyre    G

     rtyyy    hdd     h

     ddd      ddee    e

     dadf     dww     t

就这样的形式。

 

Top
hello 发表于:2009-06-02 08:15:27
白发学者 发表于:2009-06-02 09:03:35

先参照一下:

http://www.accessoft.com/article-show.asp?id=2059

思路:
找出“空格”及“-”所在位置,再按它们所处位置取得相应内容。

就是用InStr()及Mid()两个函数就可以实现。


等我下班后再做个实例上传。



hello 发表于:2009-06-02 09:06:23

select *,instr(产品标识," ") as www,instr(产品标识,"-") as w2,left(产品标识,www-1) as w3 from sheet1

这个语句,老是说是错的。

  谢谢楼上。



豆豆 发表于:2009-06-02 10:50:05

这个其实就是left(或mid),mid,instr函数的一个综合应用。

像2楼所说的

 

SELECT Sheet1.序列号, Sheet1.产品标识, Left([产品标识],InStr([产品标识]," ")-1) AS 字段1, Mid([产品标识],InStr([产品标识]," ")+1,InStr([产品标识],"-")-InStr([产品标识]," ")-1) AS 字段2, Mid([产品标识],InStr([产品标识],"-")+1) AS 字段3
FROM Sheet1
WITH OWNERACCESS OPTION;



豆豆 发表于:2009-06-02 10:50:26
这个是附件。点击下载此附件

白发学者 发表于:2009-06-02 13:29:19

5楼实例应该是正确了吧,支持此方法。

 



总记录:6篇  页次:1/1 9 1 :