PL/SQL字符串任务 [英] PL/SQL string tasks

查看:68
本文介绍了PL/SQL字符串任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在PL/SQL中完成两项任务:

I need to work on two tasks in PL/SQL:

  1. 用于显示字符串中每个单词的开头字符,例如标准查询语言",因此它应该以"SQL"的形式返回值.

  1. Is to display the first characters of each word in the string e.g. "Standard Query Language", so it should return value as "SQL".

将文本"apple"转换为大写字母"APPLE",但不使用大写或小写预定义函数.

converting text "apple" to upper caps "APPLE", but not using the upper case or lower case predefined functions.

在PL/SQL中是否可以通过不使用高级功能而仅使用初学者级方法来实现.

is it possible in PL/SQL, by not using advanced level functions but just beginner level approach.

推荐答案

我已经编写了执行上述两项任务的代码,它们工作正常,没有添加异常处理或验证.

I have written the code for performing the both tasks mentioned above, they work fine, haven't added exception handling or validation.

(1) DECLARE
    NAME VARCHAR2(100):='&NAM';
    CURR_CHAR VARCHAR2(1);
    ABBRV VARCHAR2(100);
BEGIN
ABBRV := SUBSTR(NAME,1,1);
FOR I IN 1..LENGTH(NAME) LOOP
    CURR_CHAR := SUBSTR(NAME,I,1);
    IF CURR_CHAR =  CHR(32) THEN
        -- &PL('SPACE');
        ABBRV := ABBRV || SUBSTR(NAME,I+1,1);
    END IF;
END LOOP;
&PL('ABBRIVATION OF : ' || NAME);
&PL(' IS ... :  ' || ABBRV);
END;


(2)DECLARE
    VALUE VARCHAR2(100) := '&VAL';
    CURR_CHAR VARCHAR2(1);
    UPPER_CASE VARCHAR2(100);
BEGIN
    FOR I IN 1..LENGTH(VALUE) LOOP
        CURR_CHAR := SUBSTR(VALUE,I,1);
        UPPER_CASE := UPPER_CASE || CHR(ASCII(CURR_CHAR)-32);   
    END LOOP;
    &PL(' UPPER CASE : ' || UPPER_CASE);
END;

这篇关于PL/SQL字符串任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆