sql字符串分列

 

1.不为空
select * from table where id <> "";
select * from table where id != "";

2.不为空
select * from table where id ="";  ####varchar字符串类型
select * from table where isNull(id);  ####int数值类型
SQL> create table gjtext
  2  ( name varchar2(100));

Table created

SQL> insert into gjtext values(镀锌钢管 100*6m');

1 row inserted


1 row inserted

SQL> commit;

SQL> select * from gjtext;

NAME
--------------------------------------------------------------------------------
镀锌钢管 100*6m
镀锌钢管  10
镀锌钢管  100
镀锌钢管 125
镀锌钢管  15
镀锌钢管 150
镀锌钢管 150*6m
螺旋管 150*6m
螺旋管 70
螺旋管 89

 

方法一:

SQL> select substr(name,1,instr(name,'管')) as a_name,substr(name,instr(name,'管')+1) as a_standard from gjtext;

A_NAME                                                                           A_STANDARD
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
镀锌钢管                                                                           100*6m
镀锌钢管                                                                          10
镀锌钢管                                                                           100
镀锌钢管                                                                          125
镀锌钢管                                                                         15
镀锌钢管                                                                        150
镀锌钢管                                                                          150*6m
螺旋管                                                                          150*6m
螺旋管                                                                            70
螺旋管                                                                           89

10 rows selected

 

方法二:

 SQL> select substr(name,1,lengthb(name)-length(name)) item,
  2  substr(name,lengthb(name)-length(name)+1) item_style
  3  from gjtext;

ITEM                                                                             ITEM_STYLE
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
镀锌钢管                                                                           100*6m
镀锌钢管                                                                         10
镀锌钢管                                                                          100
镀锌钢管                                                                          125
镀锌钢管                                                                           15
镀锌钢管                                                                         150
镀锌钢管                                                                          150*6m
螺旋管                                                                          150*6m
螺旋管                                                                           70
螺旋管                                                                            89

10 rows selected

 

方法三:正则表达式

SQL> select name,substr(name,0,regexp_instr(name,'d')-1) name,substr(name,regexp_instr(name,'d')) guige from gjtext;

ITEM                                                                             ITEM_STYLE
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
镀锌钢管                                                                           100*6m
镀锌钢管                                                                         10
镀锌钢管                                                                          100
镀锌钢管                                                                          125
镀锌钢管                                                                           15
镀锌钢管                                                                         150
镀锌钢管                                                                          150*6m
螺旋管                                                                          150*6m
螺旋管                                                                           70
螺旋管                                                                            89

10 rows selected

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值