正在从 Oracle 迁移到 SQL 服务器。双tableselect查询->SQL服务器
Migrating from Oracle to SQL server. Dual table select query -> SQL server
我要从 Oracle 迁移到 sql 服务器 2008。
我在我的系统中查询了双 table,
SELECT TO_CHAR(TRUNC(sysdate, 'DAY')-0,'YYYYMMDD') FROM DUAL
由于 SQL 服务器中没有 Dual table,我怎样才能在 SQL 服务器上使用 getdate with convert 获得相同的结果?
我还听说为双重添加了一个虚拟 table,但这对我的查询有用吗?
您可以使用 convert()
而没有 from
子句:
SELECT REPLACE(CONVERT(VARCHAR(10), getdate(), 121), '-', '')
或使用 112:
SELECT CONVERT(VARCHAR(8), getdate(), 112)
在 SQL 服务器中 FROM TABLE
是可选的,但在 JOIN 和其他带有别名的复杂语法的情况下仍然需要它,这是创建它的最佳方法。
Select 'x' C into dbo.Dual
(1 row affected)
我要从 Oracle 迁移到 sql 服务器 2008。
我在我的系统中查询了双 table,
SELECT TO_CHAR(TRUNC(sysdate, 'DAY')-0,'YYYYMMDD') FROM DUAL
由于 SQL 服务器中没有 Dual table,我怎样才能在 SQL 服务器上使用 getdate with convert 获得相同的结果?
我还听说为双重添加了一个虚拟 table,但这对我的查询有用吗?
您可以使用 convert()
而没有 from
子句:
SELECT REPLACE(CONVERT(VARCHAR(10), getdate(), 121), '-', '')
或使用 112:
SELECT CONVERT(VARCHAR(8), getdate(), 112)
在 SQL 服务器中 FROM TABLE
是可选的,但在 JOIN 和其他带有别名的复杂语法的情况下仍然需要它,这是创建它的最佳方法。
Select 'x' C into dbo.Dual
(1 row affected)