当前位置: 首页 > news >正文

网站建设及验收标准/网址百度刷排名

网站建设及验收标准,网址百度刷排名,制作一个网站怎么做,如何查找网站语言国际化要求,开发上要求Oracle数据库SQL中对应的返回信息-Message,实现一个通用函数调用,比如:提示信息内容:条码123456当前工站在FCT!”,即通用的信息内容格式化标准为:“条码{0…

   语言国际化要求,开发上要求Oracle数据库SQL中对应的返回信息-Message,实现一个通用函数调用,比如:提示信息内容:条码123456当前工站在FCT!”,即通用的信息内容格式化标准为:“条码{0}当前工站在{1}!”。

  在C#代码中可以通过String.Format函数占位符替换的模式实现字符串格式化输出,Oracle中暂无此函数,所以可参考String.Format反编译的相应的逻辑去实现即可;

       信息内容中多个参数,是以占位符{}来表示,多个参数则用数组;通过自定义数组类型(即Table表结构类型).如下代码所示: 

1 CREATE OR REPLACE TYPE stringarrary IS TABLE OF VARCHAR2 (4000);

       FUNCTION---StringSplit(参数--信息内容,参数--分割符)

--分割函数CREATE OR REPLACE FUNCTION StringSplit (
SOURCE VARCHAR2, --信息内容
spliter VARCHAR2--分割符
)RETURN stringarrary
ISj             INT             := 0;i             INT             := 1;len           INT             := 0;len1          INT             := 0;str           VARCHAR2 (4000);returnvalue   stringarrary    := stringarrary ();
BEGINIF (spliter IS NULL) OR (SOURCE IS NULL)THENreturnvalue.EXTEND;returnvalue (1) := SOURCE;ELSElen := LENGTH (SOURCE);len1 := LENGTH (spliter);WHILE j < lenLOOPj := INSTR (SOURCE, spliter, i);IF j = 0THENj := len;str := SUBSTR (SOURCE, i);returnvalue.EXTEND;returnvalue (returnvalue.COUNT) := str;IF i >= lenTHENEXIT;END IF;ELSEstr := SUBSTR (SOURCE, i, j - i);i := j + len1;returnvalue.EXTEND;returnvalue (returnvalue.COUNT) := str;END IF;END LOOP;END IF;RETURN returnvalue;
END stringsplit;
复制代码
1 CREATE OR REPLACE FUNCTION stringsplit (SOURCE VARCHAR2, spliter VARCHAR2)
 2    RETURN stringarrary
 3 IS
 4    j             INT             := 0;
 5    i             INT             := 1;
 6    len           INT             := 0;
 7    len1          INT             := 0;
 8    str           VARCHAR2 (4000);
 9    returnvalue   stringarrary    := stringarrary ();
10 BEGIN
11    IF (spliter IS NULL) OR (SOURCE IS NULL)
12    THEN
13       returnvalue.EXTEND;
14       returnvalue (1) := SOURCE;
15    ELSE
16       len := LENGTH (SOURCE);
17       len1 := LENGTH (spliter);
18 
19       WHILE j < len
20       LOOP
21          j := INSTR (SOURCE, spliter, i);
22 
23          IF j = 0
24          THEN
25             j := len;
26             str := SUBSTR (SOURCE, i);
27             returnvalue.EXTEND;
28             returnvalue (returnvalue.COUNT) := str;
29 
30             IF i >= len
31             THEN
32                EXIT;
33             END IF;
34          ELSE
35             str := SUBSTR (SOURCE, i, j - i);
36             i := j + len1;
37             returnvalue.EXTEND;
38             returnvalue (returnvalue.COUNT) := str;
39          END IF;
40       END LOOP;
41    END IF;
42 
43    RETURN returnvalue;
44 END stringsplit;
复制代码

      1.分割函数测试如下:      

 SELECT *FROM TABLE (CAST (StringSplit ('1|12|123|1234||12345|', '|') AS stringarrary));

      测试  结果:    

             COLUMN_VALUE
               1                          
               12                        
               123                      
               1234                    
                                           
               12345                           

        OK。

然后封装函数StringFormat:

CREATE OR REPLACE FUNCTION StringFormat (SOURCE     VARCHAR2,param      VARCHAR2,spliter    VARCHAR2)RETURN VARCHAR2
ISi             INT := 0;len           INT := 0;params        stringarrary := stringarrary ();returnvalue   VARCHAR2 (4000);
BEGINparams := stringsplit (param, spliter);IF params.COUNT > 0THENlen := params.COUNT;returnvalue := SOURCE;WHILE i < lenLOOPreturnvalue :=REPLACE (returnvalue,CONCAT (CONCAT ('{', TO_CHAR (i)), '}'),params (i + 1));i := i + 1;END LOOP;END IF;RETURN returnvalue;
END stringreplace;
复制代码
1 CREATE OR REPLACE FUNCTION stringreplace (
2 SOURCE VARCHAR2,
3 param VARCHAR2,
4 spliter VARCHAR2
5 )
6 RETURN VARCHAR2
7 IS
8 i INT := 0;
9 len INT := 0;
10 params stringarrary := stringarrary ();
11 returnvalue VARCHAR2 (4000);
12 BEGIN
13 params := stringsplit (param, spliter);
14 
15 IF params.COUNT > 0
16 THEN
17 len := params.COUNT;
18 returnvalue := SOURCE;
19 
20 WHILE i < len
21 LOOP
22 returnvalue :=
23 REPLACE (returnvalue,
24 CONCAT (CONCAT ('{', TO_CHAR (i)), '}'),
25 params (i + 1)
26 );
27 i := i + 1;
28 END LOOP;
29 END IF;
30 
31 RETURN returnvalue;
32 END stringreplace;
复制代码
2.测试Oracle---StringFormat函数了。
SELECT StringFormat('条码{0}当前工站在{1}!', '123456|FCT', '|') FROM DUAL;
1 select stringreplace('{0}+{1}={0}{1}','吱吱|YY','|') from dual;

        测试结果:

          条码123456当前工站在FCT! 

转载于:https://www.cnblogs.com/turnip/p/11082700.html

http://www.jmfq.cn/news/4947373.html

相关文章:

  • 网站备案号在哪儿查询/软文有哪些发布平台
  • 万盛集团网站建设/恩施seo整站优化哪家好
  • 微网站建设教程视频教程/公司企业网站制作需要多少钱
  • 网站推广优化平台/如何进行网络推广和宣传
  • 做python一个网站/友链交换有什么作用
  • 建设手机网站费用吗/预测2025年网络营销的发展
  • 建设牌官方网站/深圳网站seo优化公司
  • wordpress安装后设置/seo如何优化排名
  • 建设培训学校网站/中国最新军事新闻
  • 章丘营销型网站建设/百度问一问客服人工在线咨询
  • 大兴专业网站建设公司/互联网推广公司排名
  • wordpress更换背景/seo课程排行榜
  • 优秀大校网站/重庆网络seo公司
  • 网站怎么备案啊/北京seo优化外包
  • 海南网站优化公司/网站推广引流
  • 计科专业毕设做网站/企业推广策略
  • web开发技术介绍/seo测试
  • 利用百度云做网站/最近爆发什么病毒感染
  • 常州做的网站的公司网站/北京百度搜索排名优化
  • 美国做3d+h动画的网站/个人永久免费自助建站
  • 做不做我女朋友的网站/促销活动推广方案
  • 推广公众号平台的公司/seo排名培训学校
  • 网站开发技术教程/推广方案策略怎么写
  • 免费做网站软件下载/网站运营策划书
  • 深圳企业专业网站设计/广州网站定制多少钱
  • 地产平面网站/热门seo推广排名稳定
  • 做论坛网站多少钱/电子商务网站建设流程
  • 潍坊市建设一体化平台网站/淘宝指数网站
  • 云南建设厅网站执业注册/淘特app推广代理
  • 手机网站建设请示/发稿媒体平台