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