2011-10-28 LIKE条件中的通配符
http://www.itpub.net/thread-1499223-10-1.html
93楼
我创建了这张表并填入数据:
CREATETABLEplch_new_parts(partnumNUMBER,partnameVARCHAR2(50))/BEGININSERTINTOplch_new_parts(partnum,partname)VALUES(1,'MYPARTNUMBER1');INSERTINTOplch_new_parts(partnum,partname)VALUES(2,'MY_PART_NUMBER_2');INSERTINTOplch_new_parts(partnum,partname)VALUES(3,'MY_PARTNUMBER_3');COMMIT;END;/
当我执行下列这段代码,屏幕上会显示什么?
DECLAREl_countsDBMS_SQL.number_table;BEGINl_counts(1):=0;l_counts(2):=0;l_counts(3):=0;l_counts(4):=0;FORrecIN(SELECTpartnameFROMplch_new_partsORDERBYpartnum)LOOPIFrec.partnameLIKE'MYPARTNUMBER%'THENl_counts(1):=l_counts(1)+1;ENDIF;IFrec.partnameLIKE'MY_PART_NUMBER_%'THENl_counts(2):=l_counts(2)+1;ENDIF;IFrec.partnameLIKE'MY_PARTNUMBER_%'THENl_counts(3):=l_counts(3)+1;ENDIF;IFrec.partnameLIKE'MY?PART?NUMBER?*'THENl_counts(4):=l_counts(4)+1;ENDIF;ENDLOOP;FORindxIN1..l_counts.COUNTLOOPDBMS_OUTPUT.put_line(l_counts(indx));ENDLOOP;END;/
(A)
1110
(B)
1320
(C)
0003
(D)
3333
(E)
1323
运行结果如下
SQL>DECLARE2l_countsDBMS_SQL.number_table;34BEGIN5l_counts(1):=0;6l_counts(2):=0;7l_counts(3):=0;8l_counts(4):=0;910FORrecIN(SELECTpartname11FROMplch_new_parts12ORDERBYpartnum)13LOOP14IFrec.partnameLIKE'MYPARTNUMBER%'15THEN16l_counts(1):=l_counts(1)+1;17ENDIF;1819IFrec.partnameLIKE'MY_PART_NUMBER_%'20THEN21l_counts(2):=l_counts(2)+1;22ENDIF;2324IFrec.partnameLIKE'MY_PARTNUMBER_%'25THEN26l_counts(3):=l_counts(3)+1;27ENDIF;2829IFrec.partnameLIKE'MY?PART?NUMBER?*'30THEN31l_counts(4):=l_counts(4)+1;32ENDIF;33ENDLOOP;3435FORindxIN1..l_counts.COUNT36LOOP37DBMS_OUTPUT.put_line(l_counts(indx));38ENDLOOP;39END;40/132PL/SQLproceduresuccessfullycompletedSQL>
答案B
答案说明96楼
2011-10-28答案B._匹配单个字符,%匹配任意个字符,*和?是忽悠人的。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。