Ibland kan du behöva casta MySQL-data från en datatyp till en annan. Så här typcastar du data med MySQL CAST-funktionen.
Hur man skriver Cast i MySQL
Vi kommer att titta på hur MySQL CAST fungerar och hur man typcastar data med MySQL CAST-funktionen.
Här är syntaxen för MySQL CAST-funktionen
CAST(data as data_type)
MySQL CAST kräver två ingångar - data som ska typcastas och datatypen (decimal, tecken, etc) som du vill konvertera denna data till. Du kan casta data till datatyperna BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, OSIGNED.
Du kan tillhandahålla data som ett bokstavligt värde som visas nedan
CAST(1 as char)
ELLER
Du kan data som ett kolumnnamn (t.ex. id)
CAST(id as char)
Bonusläsning:MySQL Återställningsfråga
Här är ett exempel på en SQL-fråga där vi kastar en int till ett tecken i SELECT-satsen
mysql> select cast(1 as char) from sales;
Du kan också använda MySQL CAST i WHERE-satsen. Här konverterar vi sträng till int i WHERE-satsen.
mysql> select * from sales where id=CAST('213' as int);
Bonus Läs:Hur man använder MySQL Samlad fråga
MySQL CAST-exempel
Låt oss titta på några av de vanliga exemplen på MySQL CAST-funktion.
MySQL CAST som Int.
Här är ett exempel på att MySQL kastar flytande till signerat heltal. Observera att du bara kan casta till OSIGNERADE eller SIGNERADE heltalsdatatyper. Du kan inte använda INT i CAST-funktionen.
mysql> select cast(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST som decimal
Så här castar du som decimal
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Bonus Läs:Hur man kontrollerar MySQL-version
MySQL CAST som flytande
MySQL CAST stöder inte cast som flytande. Du måste kasta så decimal som visas ovan.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
MySQL Cast som Varchar
MySQL CAST stöder inte cast som varchar. Du måste kasta som kol enligt bilden nedan.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
MySQL DateTime to Date
Så här castar du datetime till date.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!