MySQL是一種常用的關(guān)系型數(shù)據(jù)庫,支持許多數(shù)據(jù)類型。在MySQL中,經(jīng)常需要將字符串轉(zhuǎn)換為數(shù)值類型,以便于數(shù)值比較、計算等操作。
下面是常用的字符串轉(zhuǎn)換數(shù)值的函數(shù):
CAST(expr AS type) CONVERT(expr, type)
其中,expr
是要轉(zhuǎn)換的字符串,type
是要轉(zhuǎn)換成的數(shù)值類型。常見的數(shù)值類型包括:
INTEGER FLOAT DOUBLE DECIMAL
下面是使用CAST函數(shù)將字符串轉(zhuǎn)換為整型的示例:
SELECT CAST('123' AS INTEGER);
執(zhí)行結(jié)果為:
+----------------------+ | CAST('123' AS INTEGER) | +----------------------+ | 123 | +----------------------+
如果字符串無法轉(zhuǎn)換為指定類型的數(shù)值,則會返回NULL:
SELECT CAST('abc' AS INTEGER);
執(zhí)行結(jié)果為:
+-----------------------+ | CAST('abc' AS INTEGER) | +-----------------------+ | NULL | +-----------------------+
可以使用CONVERT函數(shù)進行相同的轉(zhuǎn)換:
SELECT CONVERT('123', INTEGER);
執(zhí)行結(jié)果和上面的CAST函數(shù)示例相同。
注意,如果字符串中包含多余的字符或空格,轉(zhuǎn)換可能會失敗。該時可以先使用TRIM函數(shù)去掉多余的空格:
SELECT CAST(TRIM(' 123 ') AS INTEGER);
執(zhí)行結(jié)果和上面的CAST函數(shù)示例相同。