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