select * from表,仍然在一个指定的列执行某些功能
题
我希望能够返回表或在产生的表中的所有列的连接,仍然能够通过名称日期转换为字符串。
例如
选择ID,说明,TO_CHAR(CHANGE_DATE, 'YYYY-MM-DD HH24:MI:SS')AS FORMATED_DATE FROM MY_TABLE;
这是一切都很好只是这三根柱子。但是,该表将实际上有更多的列,可以连接到其他表。我想可以使用通配符来获取所有列,仍然能够执行TO_CHAR转变。
是这样的: SELECT *,(CHANGE_DATE, 'YYYY-MM-DD HH24:MI:SS')AS FORMATED_DATE FROM MY_TABLE;
你会从TO_CHAR猜到了,我使用的是Oracle,所以我用PLSQL。
所以我的具体问题是:是否有语法,让我来选择所有的列(通过*),并且仍然能够调用这些列中的一列功能
解决方案
您可以做的最接近的是这样的:
SELECT
MY_TABLE.*,
(CHANGE_DATE, 'YYYY-MM-DD HH24:MI:SS') AS FORMATED_DATE
FROM MY_TABLE;
其他提示
而不是教训你,这里。甲骨文比MSSQL它fussier了一点,但这个工作对我来说。
选择 GENERAL.GOREMAL。* ,ROWNUM ,当前的日期 从GENERAL.GOREMAL
以下是可以接受的:
SELECT T1.*, T2.*, x + y as some_Z
或也许
SELECT compute_foo() as aColumn, *
在过去的这些都将始终保持你的专栏,在同一个地方 - 在开始 - 无论通配符多少列带给
在SQL Server你写的是完全有效的,我认为它应该在Oracle中正常工作。要知道,你会在它的原单的形式一次,两次,一次在格式化形式返回日期列。
仅供参考使用SELECT *应probally避免,不过这是另外一个问题: - )
仅供参考,如果你有连接,选择*特别要避免因为它浪费服务器和网络资源,特别是因为所有的连接字段具有相同的信息。像“SELECT *”垃圾编码创建变得非常难以解决时,系统中的每个查询写得不好的性能问题。我知道,在SQL Server中,你可以从对象浏览器通过拖动列,也不会感到惊讶,如果甲骨文有类似的东西。
在另外选择*可以创建很多很多后面的错误作为数据表的变化。这是不良的做法改为你想用他们的具体顺序没有命名列。