您现在的位置是:主页 > news > 云主机网站/营销型网站是什么意思

云主机网站/营销型网站是什么意思

admin2025/6/9 18:27:33news

简介云主机网站,营销型网站是什么意思,网站的营销,网站被降权怎么办语言国际化要求,开发上要求Oracle数据库SQL中对应的返回信息-Message,实现一个通用函数调用,比如:提示信息内容:条码123456当前工站在FCT!”,即通用的信息内容格式化标准为:“条码{0…

云主机网站,营销型网站是什么意思,网站的营销,网站被降权怎么办语言国际化要求,开发上要求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(参数--信息内容,参数--分割符)

jian.gif

--分割函数CREATE OR REPLACE FUNCTIONStringSplit (

SOURCEVARCHAR2, --信息内容

spliter VARCHAR2--分割符

)RETURNstringarraryISjINT := 0;

iINT := 1;len INT := 0;

len1INT := 0;str VARCHAR2 (4000);

returnvalue stringarrary :=stringarrary ();BEGIN

IF (spliter IS NULL) OR (SOURCE IS NULL)THENreturnvalue.EXTEND;

returnvalue (1) :=SOURCE;ELSE

len :=LENGTH (SOURCE);

len1 :=LENGTH (spliter);WHILE j < lenLOOP

j :=INSTR (SOURCE, spliter, i);IF j = 0

THENj := len;str :=SUBSTR (SOURCE, i);

returnvalue.EXTEND;

returnvalue (returnvalue.COUNT) := str;IF i >= len

THEN

EXIT;END IF;ELSE

str := SUBSTR (SOURCE, i, j -i);

i := j +len1;

returnvalue.EXTEND;

returnvalue (returnvalue.COUNT) := str;END IF;ENDLOOP;END IF;RETURNreturnvalue;END stringsplit;

fz.gif

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 

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;

fz.gif

1.分割函数测试如下:

jian.gif

SELECT *

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

结果:

COLUMN_VALUE

1

12

123

1234

12345

OK。

然后封装函数StringFormat:

jian.gif

CREATE OR REPLACE FUNCTION StringFormat (SOURCE VARCHAR2,

paramVARCHAR2,

spliterVARCHAR2)RETURN VARCHAR2

ISiINT := 0;len INT := 0;

params stringarrary :=stringarrary ();

returnvalueVARCHAR2 (4000);BEGINparams :=stringsplit (param, spliter);IF params.COUNT > 0

THEN

len := params.COUNT;

returnvalue :=SOURCE;WHILE i < lenLOOP

returnvalue :=

REPLACE(returnvalue,

CONCAT (CONCAT (‘{‘, TO_CHAR (i)), ‘}‘),

params (i+ 1));

i := i + 1;ENDLOOP;END IF;RETURNreturnvalue;END stringreplace;

fz.gif

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 

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;

fz.gif

2.测试Oracle---StringFormat函数了。

jian.gif

SELECTStringFormat(‘条码{0}当前工站在{1}!‘, ‘123456|FCT‘, ‘|‘)FROM DUAL;

1 select stringreplace(‘{0}+{1}={0}{1}‘,‘吱吱|YY‘,‘|‘) from dual;

测试结果:

条码123456当前工站在FCT!