Tekenreeksfuncties
De volgende tabel bevat functies voor het bewerken van tekenreeksen. Een toepassing kan bepalen welke tekenreeksfuncties worden ondersteund door een stuurprogramma door SQLGetInfo- aan te roepen met een informatietype van SQL_STRING_FUNCTIONS.
Opmerkingen
Argumenten die worden aangeduid als string_exp kunnen de naam zijn van een kolom, een letterlijke tekenreeksof het resultaat van een andere scalaire functie, waarbij het onderliggende gegevenstype kan worden weergegeven als SQL_CHAR, SQL_VARCHAR of SQL_LONGVARCHAR.
Argumenten die worden aangeduid als character_exp een tekenreeks met een variabele lengte zijn.
Argumenten die worden aangeduid als beginnen, lengteof aantal kunnen een numerieke letterlijke of het resultaat van een andere scalaire functie zijn, waarbij het onderliggende gegevenstype kan worden weergegeven als SQL_TINYINT, SQL_SMALLINT of SQL_INTEGER.
De tekenreeksfuncties die hier worden vermeld, zijn gebaseerd op 1; Dat wil gezegd, het eerste teken in de tekenreeks is teken 1.
De scalaire functies voor BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH en POSITION-tekenreeks zijn toegevoegd in ODBC 3.0 om te worden uitgelijnd met SQL-92.
Functie | Beschrijving |
---|---|
ASCII(string_exp) (ODBC 1.0) | Retourneert de ASCII-codewaarde van het meest linkse teken van string_exp als een geheel getal. |
BIT_LENGTH(string_exp) (ODBC 3.0) | Retourneert de lengte in bits van de tekenreeksexpressie. Werkt niet alleen voor tekenreeksgegevenstypen, dus converteert niet impliciet string_exp naar tekenreeks, maar retourneert in plaats daarvan de (interne) grootte van het gegeven gegevenstype. |
CHAR(code) (ODBC 1.0) | Retourneert het teken met de ASCII-codewaarde die is opgegeven door code. De waarde van code moet tussen 0 en 255 zijn; anders is de retourwaarde afhankelijk van de gegevensbron. |
CHAR_LENGTH(string_exp) (ODBC 3.0) | Retourneert de lengte in tekens van de tekenreeksexpressie, als de tekenreeksexpressie van een tekengegevenstype is; retourneert anders de lengte in bytes van de tekenreeksexpressie (het kleinste gehele getal dat niet kleiner is dan het aantal bits gedeeld door 8). (Deze functie is hetzelfde als de functie CHARACTER_LENGTH.) |
CHARACTER_LENGTH(string_exp) (ODBC 3.0) | Retourneert de lengte in tekens van de tekenreeksexpressie, als de tekenreeksexpressie van een tekengegevenstype is; retourneert anders de lengte in bytes van de tekenreeksexpressie (het kleinste gehele getal dat niet kleiner is dan het aantal bits gedeeld door 8). (Deze functie is hetzelfde als de functie CHAR_LENGTH.) |
CONCAT(string_exp1,string_exp2) (ODBC 1.0) | Hiermee wordt een tekenreeks geretourneerd die het resultaat is van het samenvoegen van string_exp2 aan string_exp1. De resulterende tekenreeks is DBMS-afhankelijk. Als de kolom die wordt vertegenwoordigd door string_exp1 bijvoorbeeld een NULL-waarde bevat, retourneert DB2 NULL, maar retourneert SQL Server de niet-NULL-tekenreeks. |
DIFFERENCE(string_exp1,string_exp2) (ODBC 2.0) | Retourneert een geheel getal dat het verschil aangeeft tussen de waarden die worden geretourneerd door de functie SOUNDEX voor string_exp1 en string_exp2. |
INSERT(string_exp1, start, lengte, string_exp2) (ODBC 1.0) | Retourneert een tekenreeks waarbij lengte tekens zijn verwijderd uit string_exp1, beginnend bij beginen waar string_exp2 is ingevoegd in string_exp, beginnen bij begin. |
LCASE(string_exp) (ODBC 1.0) | Retourneert een tekenreeks die gelijk is aan die in string_exp, waarbij alle hoofdletters worden geconverteerd naar kleine letters. |
LEFT(string_exp, count) (ODBC 1.0) | Retourneert het meest linkse aantal tekens van string_exp. |
LENGTH(string_exp) (ODBC 1.0) | Retourneert het aantal tekens in string_exp, met uitzondering van lege tekens. LENGTH accepteert alleen tekenreeksen. Converteert daarom impliciet string_exp naar een tekenreeks en retourneert de lengte van deze tekenreeks (niet de interne grootte van het gegevenstype). |
LOCATE(string_exp1, string_exp2[, start ]) (ODBC 1.0) | Retourneert de beginpositie van het eerste exemplaar van string_exp1 binnen string_exp2. De zoekopdracht naar het eerste exemplaar van string_exp1 begint met de eerste tekenpositie in string_exp2, tenzij het optionele argument, begin, is opgegeven. Als wordt opgegeven, begint de zoekopdracht met de tekenpositie die wordt aangegeven door de waarde van begin. De positie van het eerste teken in string_exp2 wordt aangegeven door de waarde 1. Als string_exp1 niet wordt gevonden binnen string_exp2, wordt de waarde 0 geretourneerd. Als een toepassing de scalaire functie LOCATE kan aanroepen met de string_exp1, string_exp2en argumenten starten, retourneert het stuurprogramma SQL_FN_STR_LOCATE wanneer SQLGetInfo- wordt aangeroepen met een Option- van SQL_STRING_FUNCTIONS. Als de toepassing de scalaire functie LOCATE kan aanroepen met alleen de argumenten string_exp1 en string_exp2, retourneert het stuurprogramma SQL_FN_STR_LOCATE_2 wanneer SQLGetInfo- wordt aangeroepen met een Option van SQL_STRING_FUNCTIONS. Stuurprogramma's die ondersteuning bieden voor het aanroepen van de functie LOCATE met twee of drie argumenten, retourneren zowel SQL_FN_STR_LOCATE als SQL_FN_STR_LOCATE_2. |
LTRIM(string_exp) (ODBC 1.0) | Retourneert de tekens van string_exp, waarbij voorloop lege waarden zijn verwijderd. |
OCTET_LENGTH(string_exp) (ODBC 3.0) | Retourneert de lengte in bytes van de tekenreeksexpressie. Het resultaat is het kleinste gehele getal dat niet kleiner is dan het aantal bits gedeeld door 8. Werkt niet alleen voor tekenreeksgegevenstypen, dus converteert niet impliciet string_exp naar tekenreeks, maar retourneert in plaats daarvan de (interne) grootte van het gegeven gegevenstype. |
POSITION(character_expINcharacter_exp) (ODBC 3.0) | Retourneert de positie van de eerste tekenexpressie in de tweede tekenexpressie. Het resultaat is een exacte numerieke waarde met een door de implementatie gedefinieerde precisie en een schaal van 0. |
REPEAT(string_exp,count) (ODBC 1.0) | Hiermee wordt een tekenreeks geretourneerd die bestaat uit string_exp herhaalde aantal keer. |
REPLACE(string_exp1, string_exp2, string_exp3) (ODBC 1.0) | Zoek string_exp1 naar exemplaren van string_exp2en vervang deze door string_exp3. |
RIGHT(string_exp, count) (ODBC 1.0) | Retourneert het meest rechtse aantal tekens van string_exp. |
RTRIM(string_exp) (ODBC 1.0) | Retourneert de tekens van string_exp met afsluitende lege waarden verwijderd. |
SOUNDEX(string_exp) (ODBC 2.0) | Retourneert een tekenreeks die afhankelijk is van een gegevensbron die het geluid van de woorden in string_expaangeeft. SQL Server retourneert bijvoorbeeld een SOUNDEX-code van 4 cijfers; Oracle retourneert een fonetische weergave van elk woord. |
SPACE(count) (ODBC 2.0) | Hiermee wordt een tekenreeks geretourneerd die bestaat uit aantal spaties. |
SUBTEKENREEKS(string_exp, begin, lengte**)** (ODBC 1.0) | Retourneert een tekenreeks die is afgeleid van string_exp, beginnend bij de tekenpositie die is opgegeven door begin voor lengte tekens. |
UCASE(string_exp) (ODBC 1.0) | Retourneert een tekenreeks die gelijk is aan die in string_exp, waarbij alle kleine letters worden geconverteerd naar hoofdletters. |