PL /SQL Strings

Strengen i PL /SQL er faktisk en sekvens av tegn med en valgfri størrelse spesifikasjon. Tegnene kan være numeriske, brev, tomme, spesialtegn eller en kombinasjon av alt. PL /SQL tilbyr tre typer strenger:

Fast lengde strenger Bilde: I slike strenger, programmerere angi lengden mens erklære strengen. Strengen er rett-polstret med mellomrom til lengden så spesifisert

variabel lengde strenger Bilde:. I slike strenger, en maksimal lengde på opp til 32 767, for string er spesifisert, og ingen padding foregår

Tegn store objekter (CLOBs) Bilde:.. Disse er variabel lengde strenger som kan være opp til 128 terabytes

PL /SQL-strenger kan være enten variabler eller litteraler. En streng bokstavelig er vedlagt i anførselstegn. For eksempel, etter 'Dette er en streng bokstavelig. Eller "hello world"

Hvis du vil ta et enkelt sitat inne i en streng bokstavelig, må du skrive inn to enkle anførselstegn ved siden av hverandre, som:
"dette isn''t hvordan det ser ut som"
Erklærte String Variabler

Oracle database gir mange strengdatatyper, som, røye, nchar, VARCHAR2, NVARCHAR2, CLOB, og NCLOB. De datatyper innledes med en 'N' er 'nasjonale tegnsett' datatyper, at datalageret Unicode tegn.

Hvis du trenger å erklære en variabel lengde streng, må du gi den maksimale lengden av strengen. For eksempel, den VARCHAR2 datatype. Følgende eksempel illustrerer erklære og bruke noen strengvariabler:
ERKLÆRER navn varchar2 (20); Selskapet varchar2 (30); introduksjon clob; Valget char (1); BEGIN navn: = 'John Smith'; Selskapet: = 'Infotech'; innledning: = 'Hei! I''m John Smith fra Infotech. '; Valget: = 'y'; HVIS valg = 'y' SÅ dbms_output.put_line (navn); dbms_output.put_line (selskapet); dbms_output.put_line (introduksjon); END IF; END; /

Når ovenfor koden kjøres på SQL teksten, gir det følgende resultat:
John SmithInfotech CorporationHello! Jeg er John Smith fra Infotech.PL/SQL prosedyren ble fullført

Å erklære en fast lengde streng, bruke CHAR datatype. Her trenger du ikke å angi en maksimal lengde for en fast lengde variabel. Hvis du la ut lengden begrensningen, bruker Oracle Database automatisk en maksimal lengde nødvendig. Så følgende to erklæringer nedenfor er identiske:
red_flag CHAR (1): = 'Y'; red_flag CHAR: = 'Y';
PL /SQL String Funksjoner og operatører

PL /SQL tilbyr den sammensetning operatør (||) for å bli med to strenger. Tabellen nedenfor gir strengfunksjonene som tilbys av PL /SQL:
SN
Funksjon & Formål
en ASCII (x);.

Returnerer ASCII verdien av karakteren x
2 CHR (x);

Returnerer tegnet med ASCII verdien av x
3 CONCAT (x, y);..

kjeder sammen strenger x og y og returnere vedlagte streng
4 INITCAP (x);

Konverterer den første bokstaven i hvert ord i x til store bokstaver, og returnerer denne strengen
5 INSTR (x, find_string [, start] [, forekomst]);.

Søker etter find_string i x og returnerer posisjonen der det skjer
6 INSTRB (x).;

Returnerer plasseringen av en streng inne i en annen streng, men returnerer verdien i byte
7 LENGDE (x);.

Returnerer antall tegn i x <. br> 8 LENGTHB (x);.

Returnerer lengden på en streng i byte for byte tegnsett
9 NEDRE (x);

Konverterer bokstavene i x til små bokstaver og returnerer denne strengen
10 LPAD (x, bredde [, pad_string]);.

Matter x med mellomrom til venstre, for å bringe den totale lengden på . string opp til bredde tegn
11 ltrim (x [, trim_string]);

Klipper tegn fra venstre x
12 NANVL (x, verdi).;

Returnerer verdi hvis x matcher NaN spesiell verdi (ikke et tall), ellers x returneres
13 NLS_INITCAP (x);.

Samme som INITCAP funksjon bortsett at den kan bruke en annen slags metode som angitt av
NLSSORT 14 NLS_LOWER (x);.

Samme som NEDRE funksjon bortsett fra at den kan bruke en annen slags metode som angitt av NLSSORT.
15 NLS_UPPER (x);

Samme som ØVRE funksjon bortsett fra at den kan bruke en annen slags metode som angitt av NLSSORT
16 NLSSORT (x);.

Endrer metoden for å sortere tegn. Må spesifiseres før noen NLS funksjon; ellers vil standard sorterings brukes
17 NVL (x, verdi);.

Returnerer verdi hvis x er null; ellers blir x returnert
18 NVL2 (x, verdi1, verdi2.);

Returnerer verdi1 hvis x er ikke null; hvis x er null, er verdi2 returnert
19 BYTT (x, SEARCH_STRING, replace_string);.

søker x for SEARCH_STRING og erstatter den med
replace_string 20 Rpad (. x, bredde [, pad_string]);

Matter x til høyre
21 RTRIM (x [, trim_string]).; .

Klipper x fra høyre
22 soundex (x);.

Returnerer en streng som inneholder fonetisk representasjon av x
23 SUBSTR (x , start [, lengde]);

Returnerer en delstreng av x som begynner på stillingen spesifisert av start. En valgfri lengde for substrengen kan leveres
24 SUBSTRB (x).;

Samme som SUBSTR unntak av parametere er uttrykt i bytes i stedet for tegn for enkeltbytetegnsystemer
25 TRIM ([trim_char FRA) x);

Klipper tegn fra venstre og høyre for x
26 ØVRE (x).;

Konverterer bokstavene i x til store bokstaver, og returnerer denne strengen

Eksempel 1
erklære hilsener varchar2 (11):. = 'hello world "; BEGIN dbms_output.put_line (øvre (hilsener )); dbms_output.put_line (lavere (hilsener)); dbms_output.put_line (INITCAP (hilsener)); /* Hente det første tegnet i strengen * /dbms_output.put_line (substr (hilsener, 1, 1)); /* Hente det siste tegnet i strengen * /dbms_output.put_line (substr (hilsener, -1, 1)); /* Hente fem tegn, fra syvende posisjon. * /Dbms_output.put_line (substr (hilsener, 7, 5)); /* Hent resten av strengen, fra den andre stilling. * /Dbms_output.put_line (substr (hilsener, 2)); /* Finne plasseringen av den første "e" * /dbms_output.put_line (instr (hilsener, 'e')); END; /

Når ovenfor koden kjøres på SQL teksten, gir det følgende resultat: < . br> HELLO WORLDhello worldHello WorldhdWorldello World2PL /SQL-prosedyren ble fullført
Eksempel 2
ERKLÆRER hilsener varchar2 (30): = '...... Hello World .....'; BEGIN dbms_output.put_line ( RTRIM (hilsener, '.')); dbms_output.put_line (ltrim (hilsener,) '.'); dbms_output.put_line ('.' TRIM (fra hilsener)); END; /

Når ovenfor koden kjøres på SQL teksten, gir det følgende resultat:
...... Hello World Hello World. .... Hei WorldPL /SQL-prosedyren ble fullført.



Previous:
Next Page: