web-dev-qa-db-fra.com

Fonction définie par l'utilisateur SQL dans la sélection

J'ai une fonction utilisateur définie dans SQL appelée getBuisnessDays. Elle prend @startdate et @enddate et renvoie le nombre de jours ouvrables entre les deux dates. Comment puis-je appeler cette fonction dans ma sélection?

Voici ce que j'aimerais faire ..

SELECT getBusinessDays(a.opendate,a.closedate) 
FROM account a
WHERE ...
54
madcolor

Oui, vous pouvez presque faire ça:

SELECT dbo.GetBusinessDays(a.opendate,a.closedate) as BusinessDays
FROM account a
WHERE...
92
user17670

S'il s'agit d'une fonction table-valeur (retourne un ensemble de tables), vous la joignez simplement en tant que table.

cette fonction génère une table de colonnes avec toutes les valeurs de la liste passée, séparée par des virgules

SELECT * FROM dbo.udf_generate_inlist_to_table('1,2,3,4')
10
jerryhung

Utilisez une UDF à valeur scalaire, pas une valeur table, vous pouvez l’utiliser dans un SELECT à votre guise.

7
recursive