B-Arts DocumentationIndice generale

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, , 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.