Sql shton karaktere në fillim të një vargu. Rreth funksioneve të vargut SQL ose si të manipulohet teksti në bazën e të dhënave MySQL

Funksionet dhe operatorët bazë të vargut ofrojnë një shumëllojshmëri opsionesh dhe si rezultat kthejnë një vlerë të vargut. Disa funksione të vargut janë me dy elementë, që do të thotë se mund të funksionojnë në dy vargje në të njëjtën kohë. Standardi SQL 2003 mbështet funksionet e vargut.

operatori i lidhjes

SQL 2003 përcakton operatorin e lidhjes (||) që bashkon dy vargje të veçanta në një vlerë të vetme vargu.

Platforma DB2

Platforma DB2 mbështet operatorin e lidhjes SQL 2003, si dhe sinonimin e tij, funksionin CONCAT.

Platforma MySQL

Platforma MySQL mbështet funksionin CONCATQ, një sinonim për operatorin e lidhjes SQL 2003.

Oracle dhe PostgreSQL

Platformat PostgreSQL dhe Oracle mbështesin operatorin e lidhjes së dyfishtë vertikale të shiritit SQL 2003.

Platforma SQL Server

Platforma SQL Server përdor shenjën plus (+) si sinonim për operatorin e lidhjes SQL 2003. SQL Server ka parametri i sistemit CONCAT_NULL_YIELDS_NULL, e cila kontrollon se si sillet sistemi kur hasen vlerat NULL kur vlerat e vargut bashkohen.

/* Sintaksa SQL 2003 */

varg || vargu2 || vargu 3

varg1string2string3

/* Për MySQL */

CONCAT ("stringl", "string2")

Nëse ndonjë nga vlerat e bashkuara është null, atëherë kthehet një varg bosh. Gjithashtu, nëse një vlerë numerike është e përfshirë në lidhje, ajo konvertohet në mënyrë implicite në një vlerë vargu.

SELECT CONCAT("My", "bologna", "has", "a", "first", "emri...");

Bolonja ime ka një emër të parë

SELECT CONCAT("My ", NULL, "has ", "first", "Emri...");

KONVERTO dhe PËRKTHY

Funksioni CONVERT ndryshon shfaqjen e një vargu karakteresh brenda një grupi karakteresh dhe grupimi. Për shembull, funksioni CONVERT mund të përdoret për të ndryshuar numrin e biteve për karakter.

Funksioni TRANSLATE përkthen një vlerë vargu nga një grup karakteresh në tjetrin. Për shembull, funksioni TRANSLATE mund të përdoret për të kthyer një vlerë nga grupi i karaktereve angleze në grupin e karaktereve Kanji (japoneze) ose cirilike (ruse). Vetë përkthimi duhet të ekzistojë tashmë, ose si parazgjedhje ose i krijuar me komandën CREATE TRANSLATION.

Sintaksa SQL 2003

CONVERT (vlera e_karakterit duke përdorur emrin e_konvertimit të karakterit)

TRANSLATE (vlera_karakteri DUKE PËRDORUR emrin e përkthimit)

Funksioni CONVERT konverton një vlerë karakteresh në grupin e karaktereve me emrin e specifikuar në parametrin karakter_konversion_name. Funksioni TRANSLATE konverton një vlerë karakteresh në grupin e karaktereve të specifikuar në translation_name.

Ndër platformat e konsideruara, vetëm Oracle mbështet funksionet CONVERT dhe TRANSLATE siç përcaktohen në standardin SQL 2003. Implementimi i funksionit TRANSLATE nga Oracle është shumë i ngjashëm, por jo identik me SQL 2003. Në këtë implementim, funksioni merr vetëm dy argumente dhe përkthehet vetëm midis grupit të karaktereve të bazës së të dhënave dhe grupit të karaktereve të aktivizuara nga lokalizimi.

Implementimi i funksionit CONV nga MySQL konverton vetëm numrat nga një bazë në tjetrën. Në SQL Server, megjithatë, zbatimi i funksionit CONVERT është shumë i pasur dhe ndryshon llojin e të dhënave të një shprehjeje, por në të gjitha aspektet e tjera ai ndryshon nga funksioni standard CONVERT SQL 2003. Platforma PostgreSQL nuk e mbështet funksionin CONVERT, dhe zbatimi i funksionit TRANSLATE konverton të gjitha shfaqjet e një vargu karakteresh në ndonjë varg tjetër karakteresh.

DB2

Platforma DB2 nuk e mbështet funksionin CONVERT dhe mbështetja për funksionin TRANSLATE nuk është në përputhje me ANSI. Funksioni TRANSLATE përdoret për konvertimin e nënvargjeve dhe historikisht ka qenë sinonim i funksionit UPPER sepse funksioni UPPER është shtuar së fundmi në DB2. Nëse funksioni TRANSLATE përdoret në DB2 me një argument shprehjeje të vetme karakteresh, rezultati është i njëjti varg i konvertuar në shkronja të mëdha. Nëse funksioni përdoret me argumente të shumta, si p.sh. TRANSLATE(ucmo4HUK, zëvendëso, përputh), atëherë funksioni do të konvertojë të gjitha karakteret në burim që janë gjithashtu në parametrin e përputhjes. Çdo karakter në burim që është në të njëjtin pozicion me parametrin e përputhjes do të zëvendësohet nga karakteri nga parametri zëvendësues. Më poshtë është një shembull.

TRANSLATE ("Përshëndetje, Botë!") "HELLO; WORLD!"

TRANSLATE("Hello, World1", "wZ", "1W") "Hewwo, Zorwd1

MySQL

Platforma MySQL nuk mbështet funksionet TRANSLATE dhe CONVERT.

Orakulli

Platforma Oracle mbështet sintaksën e mëposhtme për funksionet CONVERT dhe TRANSLATE.

Në zbatimin e Oracle, funksioni CONVERT kthen tekstin e vlerës së karakterit të konvertuar në target_character_set. char_value është vargu që do të konvertohet, target_charset është emri i grupit të karaktereve në të cilin do të konvertohet vargu, dhe source_charset është grupi i karaktereve në të cilin vlera e vargut është ruajtur fillimisht.

Funksioni TRANSLATE në Oracle përputhet me sintaksën ANSI, por ju mund të zgjidhni vetëm një nga dy grupet e karaktereve: grupin e karaktereve të bazës së të dhënave (CHARJCS) dhe grupin e karaktereve mbështetëse të gjuhës kombëtare (NCHARJZS).

Oracle gjithashtu mbështet një funksion tjetër i cili gjithashtu quhet TRANSLATE (pa përdorur fjalë kyçe PËRDORIMI). Ky funksion TRANSLATE nuk ka të bëjë me konvertimin e grupit të karaktereve.

Emrat e grupeve të karaktereve objektiv dhe burim mund të kalohen ose si konstante vargu ose si referencë për një kolonë tabele. Vini re se kur konvertoni një varg në një grup karakteresh që nuk i shfaq të gjithë karakteret e konvertuar, mund të zëvendësoni karakteret e karakterit të egër.

Oracle mbështet disa grupe karakteresh të zakonshme, të cilat përfshijnë US7ASCII, WE8DECDEC. WE8HP, F7DEC, WE8EBCDIC500, WE8PC850u WE8ISO8859PI. Për shembull:

SELECT CONVERT("Gro2", "US7ASCII", "WE8HP") FROM DUAL;

PostgreSQL

Platforma PostgreSQL mbështet deklaratën ANSI CONVERT, dhe konvertimet mund të përcaktohen këtu duke përdorur komandën CREATE CONVERSION. Implementimi i funksionit TRANSLATE nga PostgreSQL ofron një grup të zgjeruar funksionesh që ju lejojnë të konvertoni çdo tekst në tekst tjetër brenda një vargu të caktuar.

TRANSLATE (varg karakteresh, from_text, to_text)

Ketu jane disa shembuj:

SELECT TRANSLATE("12345abcde", "5a", "XX"); "1234XXbcde" SELECT TRANSLATE(titulli, "Computer", "PC") FROM titujt WHERE type="Personal_computer" SELECT CONVERT("PostgreSQL" USING iso_8859_1_to_utf_8) "PostgreSQL"

SQL Server

Platforma SQL Server nuk e mbështet funksionin TRANSLATE. Implementimi i SQL Server i funksionit CONVERT nuk ndjek standardin SQL 2003. Ky funksion është ekuivalent me funksionin CAST në SQL Server.

KONVERT (lloji i të dhënave[(gjatësia) | (përpikëri, shkallë)], shprehje, stil])

Stili i klauzolës përdoret për të përcaktuar formatin e konvertimit të datës. Mbrapa informacion shtese referojuni dokumentacionit të SQL Server. Më poshtë është një shembull.

ZGJIDH titullin, CONVERT(char(7), ytd_sales) NGA titujt ORDER BY Titulli SHKO

Në këtë pjesë, ne do të flasim për funksionet e punës me informacionin tekstual që mund të përdoret në pyetje dhe kodi i programit në PL/SQL.

Funksioni CONCAT (strl, str2)

Ky funksion bashkon vargjet strl dhe str2. Nëse njëri prej argumenteve është NULL, atëherë ai trajtohet si një varg bosh. Nëse të dy argumentet janë NULL, atëherë funksioni kthen NULL. Shembull:

SELECT CONCAT("Prifti\"kishte një qen") x1,
CONCATCTtest" , NULL) x2,
CONCAT (NULL, "Test") x3,
CONCAT (NULL, NULL) x4
NGA dyfishtë

Papa kishte një qen

Për lidhjen e vargjeve, Oracle mbështet një operator të veçantë të lidhjes "||" që funksionon ngjashëm me funksionin CONCAT, për shembull:

SELECT CONCAT("Priest\"kishte një qen") x1, "Priest" || "kishte një qen" x2
NGA dyfishtë

Mos e ngatërroni operatorin e lidhjes "||", ekuivalent me thirrjen e funksionit CONCAT dhe operatorin "+" të përdorur në veprimet aritmetike. Në Oracle është operatorë të ndryshëm, por për shkak të hedhjes automatike të tipit, janë të mundshme gabime delikate, për shembull:

ZGJIDH "5" + "3" x1
NGA dyfishtë

Në këtë rast, vlera numerike 8 kthehet, jo varg teksti"53". Kjo për faktin se, pasi ka zbuluar operacionin aritmetik "+", Oracle automatikisht përpiqet të hedhë argumentet në llojin NUMRI.

Funksioni LOWER(str).

Funksioni LOWER konverton të gjitha karakteret e vargut str në shkronja të vogla. Shembull:

SELECT LOWER ("TeXt DATA") X
NGA dyfishtë

FunksioniUPPER (rrugë)

Funksioni UPPER konverton të gjitha karakteret në vargun str në shkronja të mëdha. Shembull:

ZGJIDH UPPER("TË DHËNAT E TEKSTIT") X
NGA dyfishtë

Funksioni INITCAP(str).

Kthen vargun str me shkronjat e para të të gjitha fjalëve të konvertuara në shkronja të mëdha. Funksioni është i dobishëm për formatimin e emrit të plotë gjatë ndërtimit të raporteve. Shembull:

SELECT INITCAPCIvanov Petr Sidorovich") X
NGA dyfishtë

FunksioneLTRIM(rr[,set])dheRTRIM(rr[,set])

Funksioni LTRIM heq të gjithë karakteret nga fillimi i një vargu deri te karakteri i parë që nuk është në grupin e karaktereve të vendosur. Si parazgjedhje, grupi përbëhet nga një hapësirë ​​e vetme dhe mund të hiqet. Funksioni RTRIM është i ngjashëm me LTRIM, por heq karakteret nga fundi i vargut. Le të shohim disa shembuj:

SELECT LTRIM("TEXT TË DHËNAT") X1,
LTRIM(" _ # TË DHËNAT E TEXT", " #_") X2,
LTRIM(" 1234567890 TeXt DATA", " 1234567890") X3
NGA dyfishtë

Funksioni REPLACE (str, search_str, [,replace_str]).

Funksioni REPLACE kërkon për modelin search_str në vargun str dhe zëvendëson çdo dukuri me replace_str. Si parazgjedhje, replace_str është vargu bosh, kështu që thirrja e funksionit REPLACE me dy argumente heq të gjitha dukuritë e gjetura. Kërkimi për një nënvarg është i ndjeshëm ndaj shkronjave të vogla. Shembull:

SELECT REPLACE ("Prifti kishte një qen", "qen", "mace") x1,
REPLACE ("Prifti kishte një qen të zemëruar", "e keqe") x2,
REPLACE ("Prifti kishte një qen", "Qen", "Mace") x3
NGA dyfishtë

Papa kishte një mace

Papa kishte një qen

Papa kishte një qen

Funksioni TRANSLATE (rr, nga_mask, te_mask)

Funksioni TRANSLATE analizon vargun str dhe zëvendëson të gjitha karakteret në vargun from_mask me karakteret përkatëse nga to_mask. Që funksioni të funksionojë si duhet, vargjet from_mask dhe to_mask duhet të kenë të njëjtën gjatësi, ose vargu from_mask duhet të jetë më i gjatë se to_mask. Nëse from_mask është më e gjatë se to_mask, dhe gjatë përpunimit të vargut str, gjenden karaktere që përputhen me një nga karakteret nga from_mask, dhe nuk ka përputhje për to në to_mask, atëherë karakteret e tilla do të hiqen nga vargu str. Nëse kaloni from_mask ose to_mask baraz me NULL, atëherë funksioni do të kthehet NULL. Krahasimi është i ndjeshëm ndaj rasteve.

SELECT TRANSLATE("Test 12345", "e2\ "E!") x1,
TRANSLATE("Test 12345", "e234", "E") x2
NGA dyfishtë

Ky funksion është i përshtatshëm për zgjidhjen e një numri problemesh praktike që lidhen me konvertimin e karaktereve ose kërkimin e karaktereve të ndaluara. Për shembull, duhet të analizoni një fjalëkalim dhe të zbuloni nëse ai përmban të paktën një numër. Zbatimi i këtij kontrolli duke përdorur TRANSLATE duket kështu:

IF TRANSLATE(PassWd, "0123456789", "*") = PassWd THEN
ADD_ERR0R("Gabim - Fjalëkalimi duhet të përmbajë të paktën një numër!");
KTHIMI 1;
FUND NËSE;

Një shembull tjetër: një numër po përgatitet për konvertimin e tij në NUMËR. Ju duhet të zëvendësoni ndarësit dhjetor "," dhe "." në "." dhe hiqni hapësirat. Zbatimi i këtij operacioni duke përdorur TRANSLATE duket kështu:

SELECT TRANSLATE("123 455.23", "., ", " . . ") x1,
TRANSLATE("-123 455.23", "., ", " . . ") x2
NGA dyfishtë

Funksioni SUBSTR(rr, m[,n])

Funksioni SUBSTR kthen një fragment të vargut str, duke filluar nga karakteri m me gjatësi n karaktere. Gjatësia mund të hiqet - në këtë rast, një varg kthehet nga karakteri m në fund të vargut str. Karakteret numërohen nga 1. Nëse specifikoni m = 0, atëherë kopjimi do të fillojë përsëri nga karakteri i parë. Përcaktimi i një vlere negative për m bën që karakteret të numërohen nga fundi i vargut dhe jo nga fillimi. Përcaktimi i vlerave m që janë më të mëdha se gjatësia e vargut në vlerë absolute bën që funksioni të kthehet NULL.

SELECT SUBSTR("Prifti kishte një qen", 13) x1,
SUBSTR("Prifti kishte një qen", -6) x2,
SUBSTR("Ky është një tekst provë", 5, 8) x3,
SUBSTR("Prifti kishte një qen", 150) x4
NGA dyfishtë

teksti

Funksioni INSTR(rr, kërkim_str [,n[,m]])

Funksioni INSTR kthen pozicionin e karakterit të parë m-ro të fragmentit të vargut str që përputhet me vargun search_str. Krahasimi bëhet nga karakteri n-të i vargut str, krahasimi është i ndjeshëm ndaj shkronjave të vogla. Si parazgjedhje, n = m = 1, domethënë kërkimi kryhet nga fillimi i vargut dhe pozicioni i fragmentit të parë të gjetur kthehet. Nëse kërkimi dështon, funksioni kthen 0.

SELECT INSTR("y prapanicë ishte një qen", "qen") x1,
INSTR ("y prapanicë ishte një qen", "mace") x2,
INSTR("Ky është tekst për të demonstruar kërkimin e tekstit", "tekst", 1, 2) x3,
INSTR('11111000000001", "1", 7) x4
NGA dyfishtë

Me këtë funksion, si dhe me të gjithë të tjerët në Oracle, shpesh bëhen gabime tipike që lidhen me trajtimin e vlerës NULL. Nëse str=NULL, atëherë funksioni do të kthejë NULL, jo zero! Kjo duhet të merret parasysh gjatë ndërtimit të kushteve të ndryshme. Për shembull, ky fragment i programit PL/SQL nuk e merr parasysh këtë veçori:

IF INSTR(TXT_VAR,"*") = 0 PASTAJ
...
FUNDNËSE;

Në këtë rast, do të ishte e saktë të shkruanim kështu:

NËSE NVL(INSTR(TXT_VAR, "*"), 0) = 0 PASTAJ
...
FUND NËSE;

Funksionet LENGTH(str) dhe LENGTHB(str).

Funksioni LENGTH(str) kthen gjatësinë e vargut str në karaktere. Për një varg bosh dhe një vlerë NULL, funksioni kthen NULL, kështu që rekomandohet përdorimi i NVL me këtë funksion.

ZGJIDH GJATESINË ("Prifti kishte një qen") x1,
GJATËSI ("") x2,
GJATËSI (NULL) x3,
NVL(Gjatesia (""), 0) x4
NGA dyfishtë

Funksioni LENGTHB është i ngjashëm me funksionin LENGTH, por e kthen gjatësinë e vargut në bajt.

Funksioni ASCII(str).

Kthen kodin ASCII të karakterit të parë të str kur përdoret kodimi ASCII dhe vlerën e bajtit të parë të një karakteri shumëbajtësh kur përdoret kodimi i karaktereve me shumë bajt. Shembull:

SELECT ASCII("Test") x1 NGA dyfishi

Funksioni CHR(n).

Kthen një karakter sipas kodit të tij.

ZGJIDH CHR(64) x1
NGA dyfishtë

Tek të tjerët. Ai ka sintaksën e mëposhtme:

CONV (numër, N, M)

Argumenti numriështë në sistemin e numrave me bazën N. Funksioni e konverton atë në sistemin numerik me bazën M dhe e kthen vlerën si varg.

Shembulli 1

Pyetja e mëposhtme konverton numrin 2 nga dhjetori në binar:

SELECT CONV(2,10,2);

Rezultati: 10

Për të kthyer numrin 2E nga heksadecimal në dhjetor, kërkohet një pyetje:

SELECT CONV("2E",16,10);

Rezultati: 46

Funksioni CHAR() përkthen kodin ASCII në vargje. Ai ka sintaksën e mëposhtme:

CHAR(n1,n2,n3..)

Shembulli 2

SELECT CHAR(83,81,76);

Rezultati: SQL

Funksionet e mëposhtme kthejnë gjatësinë e një vargu:

  • GJATËSI (varg);
  • OCTET_LENGTH (varg);
  • CHAR_LENGTH (varg);
  • CHARACTER_LENGTH (varg).

Shembulli 3

SELECT LENGTH("MySQL");

Rezultati: 5

Ndonjëherë një veçori e dobishme BIT_LENGTH (varg), i cili kthen gjatësinë e vargut në bit.

Shembulli 4

SELECT BIT_LENGTH ("MySQL");

Rezultati: 40

Funksionet e nënstringut

Një nënvarg është zakonisht një pjesë e një vargu. Shpesh dëshironi të dini pozicionin e shfaqjes së parë të një nënvargu në një varg. Ekzistojnë tre funksione që zgjidhin këtë problem në MySQL:

  • LOCATE(nënvarg, varg [,pozicioni]);
  • POSITION (nënvarg, varg);
  • INSTR (varg, nënvarg).

Nëse nënvargu nuk përmbahet në varg, atëherë të tre funksionet kthejnë vlerën 0. Funksioni INSTR() ndryshon nga dy të tjerët në renditjen e argumenteve të tij. Funksioni LOCATE() mund të përmbajë një argument të tretë pozicion, i cili ju lejon të kërkoni për një nënvarg në një varg jo nga fillimi, por nga pozicioni i specifikuar.

Shembulli 5

SELECT LOCATE("Topaz", "Topaz");

Rezultati: 31

SELECT POSITION("Topaz", "Topaz");

Rezultati: 31

SELECT INSTR("Topaz",'Topaz');

Rezultati: 31

SELECT LOCATE("Topaz", "Topaz Plant and LLC Topaz", 9);

Rezultati: 20

SELECT LOCATE("Diamanti", "Topaz");

Rezultati: 0

Funksione LEFT (vijë, N) dhe Djathtas (varg, N) ktheni përkatësisht N karakteret më të majta dhe më të djathta në varg.

Shembulli 6

SELECT LEFT("MySQL DBMS", 4);

Rezultati: DBMS

SELECT RIGHT("MySQL DBMS", 5);

Rezultati: MySQL

Ndonjëherë ju duhet të merrni një nënvarg që fillon në një pozicion të caktuar. Për këtë përdoren funksionet e mëposhtme:

  • SUBSTRING (varg, pozicion, N);
  • MID (vargu, pozicioni, N).

Të dy funksionet kthejnë N karaktere të vargut të dhënë, duke filluar nga pozicioni i dhënë.

Shembulli 7

SELECT SUBSTRING("MySQL DBMS është një nga DBMS-të më të njohura", 6,5);

Rezultati: MySQL

Kur punoni me adresat e postës elektronike dhe adresat e faqeve të internetit, funksioni është shumë i dobishëm. SUBSTR_INDEX(). Funksioni ka tre argumente:

SUBSTR_INDEX (varg, kufizues, N).

Argumenti N mund të jetë pozitiv ose negativ. Nëse është negativ, atëherë funksioni gjen shfaqjen e N-të të delimiterit, duke numëruar nga e djathta. Pastaj kthen nënvargun e vendosur në të djathtë të delimiterit të gjetur. Nëse N është pozitiv, atëherë funksioni gjen ndodhjen e N-të të delimiterit në të majtë dhe kthen nënvargun në të majtë të delimiterit të gjetur.

Shembulli 8

SELECT SUBSTRING_INDEX("www.mysql.ru",".",2);

Rezultati: www.mysql

SELECT SUBSTRING_INDEX("www.mysql.ru",".",-2);

Rezultati: mysql.com

Funksioni REPLACE (varg, nënvarg1, nënvarg2) ju lejon të zëvendësoni të gjitha dukuritë e substring1 në një varg me substring2.

Nga libri Regjistri i Windows autori Klimov A

Përfundim i Shpejtë Windows funksionon(Windows NT/2000/XP) Versionet 3.1 dhe 3.5 të Windows NT bënë të mundur mbylljen e të gjitha proceseve në 20 sekonda. Në Windows NT 3.51 dhe më të lartë, është e mundur të specifikoni sasinë e kohës që duhet të marrë sistemi për t'u mbyllur. Për ta bërë këtë, duhet të rregulloni çelësin

Nga libri Trajtimi i bazave të të dhënave me Visual Basic® .NET autor McManus Geoffrey P

KAPITULLI 3 Prezantimi i SQL Server 2000 Në të kaluarën, shumë programues filluan të ndërtonin aplikacione të bazës së të dhënave duke përdorur gjuha vizuale Bazë dhe bazë Të dhënat e Microsoft Qasje me bërthamën Jet. Sapo baza e të dhënave u rrit në disa mijëra regjistrime ose shërbimet e saj u aksesuan nga disa

Nga libri Dritaret pritës i skenarit për Windows 2000/XP autor Popov Andrey Vladimirovich

Kërkesat e instalimit të SQL Server 2000 Për të instaluar SQL Server 2000, ju nevojitet një kompjuter me një procesor Pentium (ose të pajtueshëm) me një frekuencë prej të paktën 166 MHz, hapësirë ​​në hard disk nga 95 në 270 MB (270 MB për instalim tipik dhe 44 MB për Desktop Engine), disk drive

Nga libri Çfarë nuk shkruhet në librat e Delfit autori Grigoriev A.B.

Instalimi i SQL Server 2000 Pasi të zgjidhni një kompjuter me konfigurimin e dëshiruar, mund të vazhdoni me instalimin. Në përgjithësi, procesi i instalimit të SQL Server 2000 është shumë i thjeshtë, me përjashtimet e mëposhtme: kërkon shumë kohë; gjatë procesit të instalimit, në fillim kërkohet shumë

Nga Manuali PHP i autorit

Bazat e SQL Server 2000 Pas instalimit dhe Fillimi i SQL Serveri duhet të kryejë hapat e mëposhtëm përpara se të vazhdojë me marrjen ose ruajtjen e të dhënave: të krijojë një ose më shumë baza të dhënash; krijoni tabela në bazën e të dhënave; krijojnë pamje dhe ruhen

Nga libri XSLT autor Holzner Stephen

Funksionet për të punuar me vargje A2.17 tregon funksionet me të cilat mund të krijoni vargje të reja dhe të merrni informacion për ato ekzistuese.Tabela A2.17. Funksionet e vargjeve Funksioni Përshkrimi Array(arglist) Kthen një vlerë Varianti që është

Nga libri Linux: Udhëzues i plotë autor Kolisnichenko Denis Nikolaevich

3.3. Hollësitë e punës me vargje Në këtë seksion do të shikojmë disa hollësi të punës me vargje, të cilat na lejojnë të kuptojmë më mirë se çfarë kodi gjeneron përpiluesi për disa veprime në dukje elementare. Jo të gjithë shembujt e dhënë këtu funksionojnë ndryshe nga

Nga libri The Art of Shell Scripting Programming nga Cooper Mendel

Nga libri Gjuha C - Një udhëzues fillestar autor Prata Stephen

Funksionet e XPath për të punuar me vargje Funksionet e mëposhtme të XPath për të punuar me vargje janë të disponueshme në XSLT: concat (string string1, string string2,...). Rikthen lidhjen (bashkimin) e të gjitha vargjeve të kaluara në të; përmban (string string1, string string2). Kthehet e vërtetë nëse rreshti i parë përmban (përmban) të dytin

Nga libri Linux dhe UNIX: programimi i guaskës. Udhëzues zhvilluesi. autor Tainsley David

23.2.2. Funksionet e memories Funksionet e memories së Glib kryejnë të njëjtat funksione si funksionet e tyre përkatëse C. Këtu janë prototipet e tyre: gpointer g_malloc(madhësia gulong);gpointer g_realloc(gpointer mem, madhësia gulong);void g_free(gpointer

Nga libri Përshkrimi i gjuhës PascalABC.NET autor Ekipi i RuBoard-it

Nga libri i autorit

13. Vargjet e karaktereve dhe funksionet në vargje

Nga libri i autorit

FUNKSIONET E TREGUT Shumica e bibliotekave C ofrojnë funksione që funksionojnë në vargje. Le të hedhim një vështrim në katër nga më të përdorshmet dhe më të zakonshmet: strlen(), strcat(), strcmp() dhe strcpy(). Ne kemi përdorur tashmë funksionin strlen(), i cili gjen gjatësinë e një vargu.

Nga libri i autorit

Nga libri i autorit

Nënprogramet për punën me karaktere dhe vargje funksioni Chr(a: byte): char; Konverton një kod në një funksion karakteresh të koduar me Windows ChrUnicode(a: fjalë): char; Konverton një kod në një funksion të karakterit Unicode OrdUnicode(a: char): fjalë; Konverton një karakter në funksionin e kodit Unicode UpperCase(ch: char): char;

Nga libri i autorit

Funksionet e ngjyrave Lloji i ngjyrës së ngjyrës është sinonim për System.Drawing.Color. funksioni RGB(r,g,b: byte): Ngjyra; Rikthen një ngjyrë që përmban përbërësit e kuq (r), jeshil (g) dhe blu (b) (r,g dhe b - duke filluar nga 0 në 255) funksioni ARGB(a,r,g,b: byte): Ngjyra ; Rikthen ngjyrën që përmban

Këtu listën e plotë Funksionet e vargut të marra nga BOL:

Rezultati është 11. Për të zbuluar se cilat shkronja janë, mund të përdorim funksionin CHAR, i cili kthen një karakter të dhënë kodin e njohur ASCII (nga 0 në 255):

Dhe ja se si, për shembull, mund të merrni një tabelë kodesh për të gjithë karakteret alfabetike:

SELECT CHAR(ASCII("a")+ num-1) germa, ASCII("a")+ num - 1 FROM (SELECT 5*5*(a-1)+5*(b-1) + c AS num FROM (ZGJEDH 1 a BASHKIM TË GJITHA SELECT 2 BASHKIM TË GJITHA SELECT 3 BASHKIM TË GJITHA SELECT 4 BASHKIM TË TË GJITHA ZGJEDHJET 5) x BASHKIM TË GJITHA ZGJEDHJE 2 ZGJIDH 1 c BASHKIM TË GJITHA ZGJIDH 2 BASHKIM TË GJITHA ZGJIDH 3 BASHKIM TË GJITHA ZGJIDH 4 UNION TË GJITHA ZGJEDH 5) z) x WHERE ASCII("a")+ num -1 MES ASCII("a") DHE ASCII("z")

Ata që nuk janë ende të vetëdijshëm për gjenerimin e një sekuence numerike, i referohem artikullit përkatës.

Siç e dini, kodet e shkronjave të vogla dhe të mëdha janë të ndryshme. Prandaj, për të marrë grupin e plotë pa rishkruar pyetjen, thjesht duhet të shtoni një të ngjashëm në kodin e mësipërm:

Besoj se nuk do të jetë e vështirë të shtohet kjo letër në tabelë, nëse kërkohet.

Konsideroni tani problemin e gjetjes së nënvargut të dëshiruar në një shprehje vargu. Dy funksione mund të përdoren për këtë - CHARINDEKS dhe PATINDEKS. Të dyja kthejnë pozicionin fillestar (pozicionin e karakterit të parë të nënvargut) të nënvargut në varg. Funksioni CHARINDEX ka sintaksën:

CHARINDEX ( kërkim_shprehje, varg_shprehje[, pozita_fillimi])

Këtu është një parametër opsional numër i plotë pozita_fillimi specifikon pozicionin në shprehjen e vargut nga i cili kërkohet kërkimi kërkim_shprehje. Nëse ky parametër hiqet, kërkimi kryhet nga fillimi varg_shprehje. Për shembull, një kërkesë

Duhet të theksohet se nëse nënvargu ose shprehja e vargut të kërkuar është NULL, atëherë edhe rezultati i funksionit do të jetë NULL.

Shembulli i mëposhtëm përcakton pozicionet e shfaqjes së parë dhe të dytë të karakterit "a" në emër të anijes "California"

Dhe këtu, për shembull, si mund të gjeni emra anijesh që përmbajnë një sekuencë prej tre karakteresh, i pari dhe i fundit prej të cilëve është "e":

Dhomë me avull për të LARTË funksionin E DREJTË kthen numrin e dhënë të karaktereve në të djathtë të një shprehjeje vargu:

E DREJTA (<shprehje e vargut>,<numri i karaktereve>)

Për shembull, ja se si mund të përcaktoni emrat e anijeve që fillojnë dhe mbarojnë me të njëjtën shkronjë:

Këtu veçojmë emrin e klasës dhe emrin e anijes me një hapësirë. Përveç kësaj, për të mos përsëritur të gjithë ndërtimin si një argument funksioni, ne përdorim një nënpyetje. Rezultati do të duket si ky:

Për të përjashtuar këtë rast, mund të përdorni një tjetër veçori e dobishme len (<shprehje e vargut>) , i cili kthen numrin e karaktereve në një varg. Ne kufizohemi në rastin kur numri i karaktereve është më i madh se një:

Funksioni REPLIKONI plotëson konstanten "abcde" me pesë hapësira në të djathtë, të cilat nuk merren parasysh nga funksioni LEN, - në të dyja rastet marrim 5.
Funksioni GJENDJA E TË DHËNAVE kthen numrin e bajteve në paraqitjen e ndryshores dhe na tregon ndryshimin midis llojeve CHAR dhe VARCHAR. GJENDJA E TË DHËNAVE do të na japë 12 për CHAR dhe 10 për VARCHAR.
Siç pritej, GJENDJA E TË DHËNAVE për një variabël VARCHAR, kthen gjatësinë aktuale të ndryshores. Por pse rezultati është 12 për një ndryshore të tipit CHAR? Çështja është se CHAR është një lloj gjatësi fikse. Nëse vlera e ndryshores është më e vogël se gjatësia e saj, dhe e kemi deklaruar gjatësinë si CHAR(12), atëherë vlera e ndryshores do të "përafrohet" me gjatësinë e kërkuar duke shtuar hapësirat pasuese.

Ka detyra në sit në të cilat duhet të porosisni (gjeni maksimumin, etj.) Në rend numerik vlerat e paraqitura në formatin e tekstit. Për shembull, numri i sediljes së avionit ("2d") ose shpejtësia CD ("24x"). Problemi është se teksti është renditur kështu (në rritje)

Nëse kërkohet renditja e vendeve në rendin rritës të rreshtave, atëherë rendi duhet të jetë si më poshtë

Nëse kufizohemi në këtë, atëherë arrijmë

Mbetet për të renditur



Po ngarkohet...
Top