PostgreSQL和SQL Server不同的语句写法
在PostgreSQL中,使用RETURNING
子句来获取插入或更新操作后的结果,而在SQL Server中,使用OUTPUT
子句来达到同样的目的。
例如,在PostgreSQL中,您可以这样写插入语句并获取新插入行的ID:
INSERT INTO tablename (column1, column2) VALUES (value1, value2) RETURNING id;
在SQL Server中,您会这样写:
INSERT INTO tablename (column1, column2) OUTPUT Inserted.id VALUES (value1, value2);
另一个不同点是在PostgreSQL中使用::
来进行类型转换,而在SQL Server中使用CAST
函数。
例如,在PostgreSQL中,您可以这样进行类型转换:
SELECT '123'::INT;
在SQL Server中,您会这样写:
SELECT CAST('123' AS INT);
PostgreSQL中使用CREATE TABLE AS
来创建表的副本,而在SQL Server中,您会使用SELECT INTO
。
例如,在PostgreSQL中,您可以这样复制表结构和数据:
CREATE TABLE new_table AS TABLE existing_table;
在SQL Server中,您会这样做:
SELECT * INTO new_table FROM existing_table;
PostgreSQL中使用::
进行类型转换,而在SQL Server中使用CAST
函数。
例如,在PostgreSQL中,您可以这样写:
SELECT '2023-01-01'::DATE;
在SQL Server中,您会这样写:
SELECT CAST('2023-01-01' AS DATE);
PostgreSQL中使用SERIAL
作为自增字段的类型,而在SQL Server中使用IDENTITY
。
例如,在PostgreSQL中,您可以这样创建一个自增主键:
CREATE TABLE tablename (
id SERIAL PRIMARY KEY,
column1 VARCHAR(50)
);
在SQL Server中,您会这样写:
CREATE TABLE tablename (
id INT IDENTITY(1,1) PRIMARY KEY,
column1 VARCHAR(50)
);
PostgreSQL中使用||
进行字符串拼接,而在SQL Server中使用+
。
例如,在PostgreSQL中,您可以这样拼接字符串:
SELECT 'Hello' || ' ' || 'World';
在SQL Server中,您会这样写:
SELECT 'Hello' + ' ' + 'World';
PostgreSQL中使用::
进行类型转换,而在SQL Server中使用CAST
函数。
例如,在PostgreSQL中,您可以这样写:
SELECT '123'::FLOAT;
在SQL Server中,您会这样写:
SELECT CAST('123' AS FLOAT);
PostgreSQL中使用&&
来检查两个范围是否有重叠,而在SQL Server中使用AND
。
例如,在PostgreSQL中,您可以这样写:
SELECT 1 RANGE @@ '[1, 5)' && '[3, 7)';
在SQL Server中,您会这样写:
SELECT 1 BETWEEN 3 AND 7;
PostgreSQL中使用::
进行类型转换,而在SQL Server中使用CAST
函数。
例如,在PostgreSQL中,您可以这样写:
SELECT '2023-01-0
评论已关闭