Maison >base de données >tutoriel mysql >Comment obtenir la fonctionnalité de la fonction SUBSTRING_INDEX() de MySQL dans 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);
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;
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!