SQL数据类型转换
若要对不同数据类型使用“+”或“||”或concat函数进行字符串拼接或数字计算,建议首先进行类型转换。
例如:将“678”转化为数值型数据,并与123相加进行数学运算。
ACCESS:
SELECT CINT('678') + 123;
或
SELECT CLNG('678') + 123;
SQLSERVER:
SELECT CAST('678' AS INT) + 123;
或
SELECT CONVERT(INT, '678') + 123;
ORACLE:
SELECT TO_NUMBER('678') + 123 FROM DUAL;
(ORACLE中DUAL是一个虚拟表,用来构成SELECT的语法规则)
MYSQL:
SELECT CAST('678' AS SIGNED);
注意:数据类型为小数时,需要更换为数据库对应的小数类型,否则小数会被截断。
例如:ord列(数值型)和place列进行字符串拼接。
ACCESS:
SELECT CSTR(ord) + place FROM Users;
SQLSERVER:
SELECT CAST(ord AS VARCHAR) + place FROM Users;
或
SELECT CONVERT(varchar(10), ord) + place FROM Users;
ORACLE:
SELECT TO_CHAR(ord) || place FROM Users;
MYSQL:
SELECT CAST(ord AS CHAR) + place FROM Users;
或
SELECT CONVERT(p.ordToParent, CHAR) + place FROM Users;
发布于 2020-10-13 16:12