【问题标题】:Equivalent of the query from sql server in mysql等效于 mysql 中来自 sql server 的查询
【发布时间】:2013-01-09 11:09:13
【问题描述】:

我在 SQL Server 中有查询,但我不知道它在 mysql 中的等价物。 sql代码为:

select username as t ,*from users

此代码在 sql 中运行,但此代码未在 mysql 中运行。 有办法吗?

【问题讨论】:

  • 除非我真的很傻并且遗漏了一些明显的东西,否则我认为这应该可以正常工作。您是否收到某种错误消息?
  • 这段代码没有在 mysql 中运行,我的错误是:'你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '* FROM users LIMIT 0, 30' 附近使用正确的语法
  • @aya 请在您的 OP 中发布您尝试过的确切查询和错误消息。
  • 好吧,我马上看到您使用了一个 LIMIT 子句,您没有提到原始问题 - 还有什么没有提到?我同意@MahmoudGamal,除非您向我们提供您正在使用的确切查询,否则我们无法帮助您。
  • @aya 真的吗?您接受的答案与您在编辑问题之前最初发布的代码相同。

标签: mysql sql equivalent


【解决方案1】:

你可以做任何一个

select *, username as t from users

select username as t, users.* from users

由于某些原因,在 MySQL 中,如果您首先指定特定列,则必须限定 *

【讨论】:

  • 谢谢,当我有大字段并且我想给第一个字段提供用户名时,第二个代码可以帮助我。
  • 确实,作为 Oracle 开发人员,我大部分时间都使用第二种类型,因为我有很大的表。您需要在 MySQL 和 Oracle 中获得资格,而不是在 MS SQL 和 PostgreSQL 中,这就是为什么它可以在其中一个而不是另一个中工作的原因。
【解决方案2】:

您可以使用此代码:

select *,username as t from users

【讨论】:

  • 但这会显示用户名两次,一次为 t,另一次为用户名
  • 是的,但是当用户在用户名字段中时,我可以使用此代码
猜你喜欢
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 2012-02-19
  • 2018-04-05
相关资源
最近更新 更多