Maison > base de données > tutoriel mysql > Comment obtenir la fonctionnalité de la fonction SUBSTRING_INDEX() de MySQL dans SQL Server ?

Comment obtenir la fonctionnalité de la fonction SUBSTRING_INDEX() de MySQL dans SQL Server ?

Mary-Kate Olsen
Libérer: 2024-11-21 13:12:10
original
1067 Les gens l'ont consulté

How to achieve the functionality of MySQL's SUBSTRING_INDEX() function in SQL Server?

Équivalents SQL Server de la fonction SUBSTRING_INDEX de MySQL

La fonction SUBSTRING_INDEX() de MySQL extrait une partie de sous-chaîne avant l'occurrence spécifiée d'un délimiteur. Pour obtenir des fonctionnalités similaires dans SQL Server, plusieurs approches sont disponibles.

Fonction scalaire T-SQL :

exploite T-SQL et XQuery pour diviser les chaînes en lignes XML et extrait les lignes qui correspondent à la correspondance de délimiteur souhaitée.

TSQL Inline Table-Valued Fonction :

Définit une table de valeurs en ligne qui renvoie des résultats en fonction du nombre de correspondances de délimiteurs spécifiés, similaire à la fonction scalaire T-SQL mais sous forme tabulaire.

Utilisation Exemple :

Scalaire T-SQL Fonction :

CREATE FUNCTION dbo.SUBSTRING_INDEX
(
    @str NVARCHAR(4000),
    @delim NVARCHAR(1),
    @count INT
)
RETURNS NVARCHAR(4000)
WITH SCHEMABINDING
AS
BEGIN
    /* T-SQL Scalar Function Code */
END;

SELECT dbo.SUBSTRING_INDEX(N'www.somewebsite.com', N'.', 2);
Copier après la connexion

Fonction à valeur de table en ligne TSQL :

CREATE FUNCTION dbo.SUBSTRING_INDEX
(
    @str NVARCHAR(4000),
    @delim NVARCHAR(1),
    @count INT
)
RETURNS TABLE
AS RETURN
    /* TSQL Inline Table-Valued Function Code */

SELECT  *
FROM    (
    SELECT N'www.somewebsite.com' UNION ALL 
    SELECT N'www.yahoo.com' UNION ALL 
    SELECT N'www.outlook.com'
) a(Value)
CROSS APPLY dbo.SUBSTRING_INDEX(a.Value, N'.', 2) b;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal