Funcții distribuite și convertite (transact-sql)

Tipul de date vizat. Aceste tipuri de date sunt xml. bigint și sql_variant. Aliasurile tipurilor de date nu sunt valide. Pentru mai multe informații despre tipurile de date disponibile, consultați Tipurile de date (Transact-SQL).







Un număr întreg opțional care indică lungimea tipului de date țintă. Valoarea implicită este de 30.

Expresie întregă care definește modul în care funcția CONVERT convertește parametrul de expresie. Dacă stilul este NULL, NULL este returnat. Intervalul este determinat de parametrul data_type. Pentru mai multe informații, consultați secțiunea "Note".

Returnează parametrul de expresie. convertit la tipul de date_type.

Datele și stilurile de timp

Dacă parametrul de expresie este de tip dată sau dată de date, parametrul de stil poate avea una dintre valorile afișate în tabelul următor. Alte valori sunt tratate ca 0. SQL Server acceptă formatul de dată a stilului arabic folosind algoritmul Kuwaiti.

1 Aceste valori ale stilurilor returnează rezultate nedeterministe. Acestea includ toate stilurile „gg“ (fără secol numere) și o parte a stilului „aaaa“ (cu numărul de secol).

3 Login când este convertit în datatime; ieșire la conversia la date de caractere.

4 Pentru utilizare în format XML. Pentru a converti de la datetime sau smalldatetime la date de caractere, formatul de ieșire ar trebui să fie cel descris în tabelul anterior.

5 Hijra este un sistem calendaristic cu mai multe opțiuni. SQL Server folosește algoritmul Kuwaiti.

În mod implicit, SQL Server interpretează valorile din două cifre ale anului cu o valoare de prag de 2049. De exemplu. an, indicat prin două cifre 49 este interpretat ca 2049, și un an, indicat prin două cifre 50 este interpretat ca 1950. Multe aplicații client, în special bazate pe obiectele OLE de automatizare utilizate pentru această valoare este de 2030. În SQL Server, există două parametrizare cifre anul cutoff, schimbarea pragului de valoare a anului SQL Server, care vă permite să coordonați lucrul cu datele. Se recomandă utilizarea anilor de patru cifre.







6 Suportat numai când datele de caractere sunt convertite în datatime sau smalldatetime. La acționarea datelor cu caracter care reprezintă numai data sau doar timpul pentru a Datăoră și smalldatetime tipuri de timp nespecificată este stabilit la 00: 00: 00.000 și dată nespecificată - în 1900-01-01.

Atunci când convertit la date de caractere de la stiluri smalldatetime, inclusiv secunde sau milisecunde va conține zerouri în pozițiile respective. Când se face conversia de la datetime sau smalldatetime data pieselor inutile pot trunchia prin tipul de date char sau lungimea corespunzătoare varchar.

Când se face conversia la datetimeoffset tip de date de date de caractere cu stil, inclusiv diferența de fus orar este adăugat la rezultat.

Stiluri de date de tip float și real

Dacă expresia este plutitoare sau reală. atunci parametrul de stil poate avea unul dintre tipurile enumerate în tabelul următor. Alte valori sunt tratate ca 0.

De exemplu, rezultatul următoarei conversii va fi de 10:

SELECT CAST (10.6496 AS int)

La conversia la tipuri de date a căror parte fracționată este mai mică decât tipul original, valoarea este rotunjită. De exemplu, rezultatul următoarei conversii va fi de 10,3497 USD:

SELECT CAST (10.3496847 AS bani)

SQL Server returnează un mesaj de eroare atunci când încearcă să convertească date de caractere non-numerice. NCHAR. varchar sau nvarchar la int tipuri. float. numerice și zecimale. De asemenea, SQL Server returnează o eroare dacă un șir gol ("") este convertit în numeric și zecimal.

Următorul tabel conține stiluri pentru care conversia șirurilor de caractere datetime este nedeterministă.

Toate stilurile sunt mai puțin de 100 1

Următorul este setul de rezultate.

UnconvertedDateTime UsingCast UsingConvertTo_ISO8601

(1 rând (e) afectat)

Următorul exemplu este un opus parțial al exemplului anterior. Exemplul afișează data și ora ca date de caractere, utilizează funcția CAST pentru a schimba datele caracterului la tipul de date datetime. și apoi utilizează CONVERT pentru a schimba datele caracterului la tipul de date datetime.

Următorul este setul de rezultate.

UnconvertedText UsingCast UsingConvertFrom_ISO8601

(1 rând (e) afectat)

H. Utilizarea funcției CONVERT cu date binare și de caractere

Următoarele exemple ilustrează rezultatele conversiei datelor binare și de caractere utilizând diferite stiluri.







Trimiteți-le prietenilor: