【问题标题】:Table name alias in netezzanetezza 中的表名别名
【发布时间】:2014-06-02 15:17:01
【问题描述】:

我在 netezza SQL 中使用以下命令来定义表名别名,同时通过命令行 NZSQL 运行查询

\set catgtable 'table_a'
\echo table name is :catgtable

我在需要的地方使用表名别名 catgtable,如下所示:

select *
from :catgtable where col1 is not NULL

我的问题是这两种情况下如何使用别名:

  1. select ':catgtable' as table_name, col1,col2
    from table_x
    

    这给了我一个错误,因为它需要实际的表名。

  2. select table_name, column_name
    from _v_sys_columns
    where table_name = ':catgtable' and column_name like '%merch_cat_%'
    

    这里又是别名:catgtable 不起作用,它需要实际的表名。

如果有解决方法,请告诉我。

【问题讨论】:

    标签: sql netezza


    【解决方案1】:

    如果您想在 nzsql 中将变量的内容用作文字,则需要在设置变量时在文字文本周围包含一组额外的单引号,并用反斜杠转义。

    TESTDB.ADMIN(ADMIN)=> \set tvar '\'BLAH\''
    TESTDB.ADMIN(ADMIN)=> select :tvar col_alias;
     COL_ALIAS
    -----------
     BLAH
    (1 row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 2015-08-16
      相关资源
      最近更新 更多