Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Scalaire functies retourneren een waarde voor elke rij. De scalaire absolute waardefunctie gebruikt bijvoorbeeld een numerieke kolom als argument en retourneert de absolute waarde van elke waarde in de kolom. De escapereeks voor het aanroepen van een scalaire functie is
{fnscalar-function}
waarbij scalaire functies een van de functies is die worden vermeld in bijlage E: Scalaire functies. Zie Scalaire Functie Escape-reeks in bijlage C: SQL Grammar voor meer informatie over de escape-reeks van de scalaire functie.
De volgende SQL-instructies maken bijvoorbeeld dezelfde resultatenset met klantnamen in hoofdletters. De eerste instructie maakt gebruik van de escape-reekssyntaxis. De tweede instructie gebruikt de natuurlijke syntaxis van Ingres voor gebruik met OS/2 en is niet interoperabel.
SELECT {fn UCASE(Name)} FROM Customers
SELECT uppercase(Name) FROM Customers
Een toepassing kan aanroepen naar scalaire functies combineren die gebruikmaken van systeemeigen syntaxis en aanroepen naar scalaire functies die gebruikmaken van ODBC-syntaxis. Stel dat namen in de tabel Werknemer worden opgeslagen als achternaam, komma en voornaam. Met de volgende SQL-instructie maakt u een resultatenset met achternamen van werknemers in de tabel Werknemer. De instructie maakt gebruik van de ODBC scalaire functie SUBSTRING en de scalaire SQL Server-functie CHARINDEX en wordt alleen correct uitgevoerd op SQL Server.
SELECT {fn SUBSTRING(Name, 1, CHARINDEX(',', Name) - 1)} FROM Customers
Voor maximale interoperabiliteit moeten toepassingen de scalaire functie CONVERT gebruiken om ervoor te zorgen dat de uitvoer van een scalaire functie het vereiste type is. Met de functie CONVERTEREN worden gegevens van één SQL-gegevenstype geconverteerd naar het opgegeven SQL-gegevenstype. De syntaxis van de functie CONVERTEREN is
CONVERTEREN(value_exp;data_type)
waarbij value_exp een kolomnaam is, het resultaat van een andere scalaire functie of een letterlijke waarde, en data_type een trefwoord is dat overeenkomt met de #define naam die wordt gebruikt door een SQL-gegevenstype-id zoals gedefinieerd in bijlage D: gegevenstypen. De volgende SQL-instructie gebruikt bijvoorbeeld de functie CONVERT om ervoor te zorgen dat de uitvoer van de functie CURDATE een datum is, in plaats van een tijdstempel of tekengegevens:
INSERT INTO Orders (OrderID, CustID, OpenDate, SalesPerson, Status)
VALUES (?, ?, {fn CONVERT({fn CURDATE()}, SQL_DATE)}, ?, ?)
Om te bepalen welke scalaire functies worden ondersteund door een gegevensbron, roept een toepassing SQLGetInfo aan met de opties SQL_CONVERT_FUNCTIONS, SQL_NUMERIC_FUNCTIONS, SQL_STRING_FUNCTIONS, SQL_SYSTEM_FUNCTIONS en SQL_TIMEDATE_FUNCTIONS. Om te bepalen welke conversiebewerkingen worden ondersteund door de functie CONVERT , roept een toepassing SQLGetInfo aan met een van de opties die beginnen met SQL_CONVERT.