Mysql 6

Funcția CAST () corespunde sintaxei ANSI SQL99 și funcției CONVERT () în sintaxa ODBC.

Această funcție de distribuție este folosită în principal pentru a crea o coloană cu un anumit tip utilizând comanda CREATE. SELECT.

Expresia CAST șir AS BINARY este echivalentă cu șirul BINARY. CAST (expr AS CHAR) consideră că această expresie este un șir în codificarea implicită.

Pentru a converti un șir la o valoare numerică, de obicei nu trebuie să faceți nimic: pur și simplu utilizați șirul ca și cum ar fi un număr:

Dacă specificați un număr într-un context de șir, numărul va fi convertit automat într-un șir de tip BINARY.

MySQL suportă operații aritmetice cu valori pe 64 de biți - atât cele semnate cât și nesemnate. Dacă se utilizează operații numerice (cum ar fi +) și unul dintre operanzi este reprezentat ca un întreg nesemnat. rezultatul nu este semnat. Acesta poate fi redefinit folosind operatorii de turnare SIGNED și UNSIGNED. pentru a obține un număr pe 64 de biți cu sau fără un semn, respectiv.

Rețineți că, în cazul în care un operand este reprezentat cu o valoare de virgulă mobilă (în acest context ZECIMALă () este considerată ca valoare în virgulă mobilă), rezultatul este, de asemenea, o valoare în virgulă mobilă și nu se supune regula de mai sus acționarea.

Dacă o operație aritmetică utilizează un șir, rezultatul este convertit la un număr cu virgulă mobilă.

Funcțiile CAST () și CONVERT () au fost adăugate în MySQL 4.0.2.

În MySQL 4.0 a schimbat regulile pentru procesarea de valori fără semn pentru a oferi o mai complete valori de suport BIGINT. (. În care funcția CAST cel mai probabil, nu va funcționa) În cazul în care codul trebuie să fie utilizat pentru MySQL 4.0 și 3.23, este posibil, utilizați următorul truc pentru a obține prin scăderea două coloane întregi fără semn rezultat cu semnul:

Ideea este că aceste coloane sunt convertite la un tip de virgulă mobilă înainte de scădere.

Dacă ai probleme cu coloanele de tip UNSIGNED în aplicații vechi, MySQL, atunci când le portare MySQL 4.0, puteți utiliza --sql-mode = NO_UNSIGNED_SUBTRACTION atunci când începe mysqld. Rețineți, totuși, că această oportunitate pierdută de a utiliza în mod eficient UNSIGNED BIGINT tip coloană.

Articole similare