BDBTemplateModel - funzioni SQL
Le funzioni sono utility SQL condivise. Devono essere riutilizzate quando una query o una stored procedure necessita esattamente del comportamento documentato, evitando duplicazioni locali.
BFn_Anni
dbo.BFn_Anni(@StartDate datetime, @EndDate datetime = NULL) RETURNS int
Calcola il numero di anni interi fra due date. Se @EndDate è NULL, usa la data corrente.
BFn_CapitalizeString
dbo.BFn_CapitalizeString(@string varchar(200)) RETURNS varchar(200)
Converte in maiuscolo l'iniziale della stringa e le lettere successive a spazio, trattino o apostrofo; porta le altre lettere in minuscolo.
BFnDateDiffHMS
dbo.BFn_DateDiff_HMS(@DataInizio datetime, @DataFine datetime) RETURNS varchar(100)
Restituisce la differenza in forma testuale italiana: ore, minuti e secondi.
BFn_FormattaBool
dbo.BFn_FormattaBool(
@valore bit,
@testovero varchar(20) = 'Sì',
@testofalso varchar(20) = 'No'
) RETURNS varchar(20)
Converte un valore booleano nel testo configurato per vero o falso.
BFn_FormattaData
dbo.BFn_FormattaData(
@data datetime,
@formato varchar(20) = 'dd/MM/yyyy'
) RETURNS varchar(50)
Formatta una data mediante cultura it-IT e formato configurabile.
BFn_FormattaNumero
dbo.BFn_FormattaNumero(
@valuta float,
@numerodecimali int = 2
) RETURNS varchar(50)
Formatta un numero con separatori e decimali secondo la cultura it-IT.
BFn_GeneraRows
dbo.BFn_GeneraRows(@n int) RETURNS TABLE (Num int)
Genera una tabella numerica contenente i valori da 1 a @n.
BFn_LastIndexOf
dbo.BFn_LastIndexOf(
@Testo nvarchar(max),
@SearchValue nvarchar(max)
) RETURNS int
Restituisce la posizione dell'ultima occorrenza di una sottostringa, usando una posizione SQL basata su 1. Restituisce 0 quando non viene trovata.
BFn_PrendiBool
dbo.BFn_PrendiBool(@valore varchar(10)) RETURNS bit
Interpreta valori testuali italiani e inglesi. Riconosce si, sì, vero, on, true, no, falso, off e false; restituisce NULL per valori non riconosciuti.
BFn_PrendiData
dbo.BFn_PrendiData(@sData varchar(30)) RETURNS date
Converte una stringa in data accettando formati italiani con separatore e formati che iniziano con l'anno. Restituisce NULL quando il testo non rappresenta una data valida.
BFn_PrendiNumero
dbo.BFn_PrendiNumero(@sNumero varchar(30) = NULL) RETURNS float
Converte numeri testuali con convenzioni italiane o internazionali, gestendo punto e virgola come separatori. Restituisce NULL quando il valore non è interpretabile; per input nullo o vuoto restituisce 0.
BFn_PrendiParteStr
dbo.BFn_PrendiParteStr(
@Stringa varchar(max),
@Posizione int,
@Separatore varchar(max)
) RETURNS varchar(max)
Restituisce la parte richiesta di una stringa separata. La funzione dipende da BFn_Split.
BFnQueryAnalizerGetCampo
dbo.BFn_QueryAnalizer_GetCampo(@Campo varchar(max)) RETURNS varchar(max)
Normalizza l'espressione di un campo usata dagli strumenti di analisi delle query, trattando in modo specifico le espressioni che contengono TOP.
BFnQueryAnalizerGetNomeCampo
dbo.BFn_QueryAnalizer_GetNomeCampo(
@Campo varchar(max),
@ReturnAlias int
) RETURNS varchar(max)
Estrae campo, alias o intestazione da un'espressione SQL.
Valori di @ReturnAlias:
0: nome del campo;1: alias;2: intestazione senza parentesi quadre.
BFn_SecondToHMS
dbo.BFn_SecondToHMS(@sec int) RETURNS varchar(100)
Converte una durata espressa in secondi in una descrizione italiana composta da ore, minuti e secondi.
BFn_SecondToTime
dbo.BFn_SecondToTime(@sec int) RETURNS time
Converte una durata in secondi in un valore SQL time.
BFn_Split
dbo.BFn_Split(
@sInputList varchar(max),
@sDelimiter varchar(3)
) RETURNS TABLE (item varchar(max))
Divide una stringa e restituisce una riga per ogni elemento non vuoto, rimuovendo gli spazi esterni.
BFn_SubString
dbo.BFn_SubString(
@InputString nvarchar(max),
@StartPosition int,
@Length int = NULL
) RETURNS nvarchar(max)
Estrae una sottostringa con posizione basata su 1. Con lunghezza NULL restituisce il testo fino alla fine; una lunghezza negativa riduce il limite rispetto alla parte disponibile. Restituisce NULL quando la posizione iniziale non è valida.
BFn_Trim
dbo.BFn_Trim(@valore varchar(max)) RETURNS varchar(max)
Rimuove gli spazi iniziali e finali tramite LTRIM e RTRIM.
