在 teradata 中写入管道分隔的列名称
Write pipe delimited column names in teradata
我正在使用下面的查询来生成竖线分隔文件,但我还想要竖线分隔的列名。你能帮我一下吗?
select cast (sample_dt||'|'||trim(trailing '.' from trim(leading ' ' from acct_id))||'|'||name1||'|'||ent_sub_lob||'|'||app_dt||'|'||home_phn_num||'|'||city_1_name||'|'||geo_st_cd||'|'||surveyid||'|'||study_type||'|'||ent_lob||'|'||channel||'|'||market_C||'|'||merchant_id as char(300))
from ud.testing;
如果我理解正确的话,您需要一个 table 列名称或您当前的派生列,即 cast (sample_dt||'|'||trim(trailing '.' from.....
名称作为 |
分隔。在这两种情况下,您只需要在列名称周围加上双引号 ""
,如下所示。
在创建中 Table:
create TABLE t1(
"x1 | y1" char(300)
);
您可以使用 show
命令检查创建的 table 定义。
show TABLE t1;
CREATE SET TABLE t1 ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
"x1 | y1" CHAR(300) CHARACTER SET LATIN NOT CASESPECIFIC)
PRIMARY INDEX ( "x1 | y1" );
在派生列中:
SELECT 'abc'||' | '|| 'zyc' as "Test | ABC";
Test | ABC
----------
abc | zyc
您当前的查询将变为。
SELECT CAST (sample_dt||'|'||trim(TRAILING '.'
FROM trim(LEADING ' '
FROM acct_id))||'|'||name1||'|'||ent_sub_lob||'|'||app_dt||'|'||home_phn_num||'|'||city_1_name||'|'||geo_st_cd||'|'||surveyid||'|'||study_type||'|'||ent_lob||'|'||channel||'|'||market_C||'|'||merchant_id AS char(300)) AS "Pipe | Seperated"
FROM ud.testing;
希望对您有所帮助:-)
我正在使用下面的查询来生成竖线分隔文件,但我还想要竖线分隔的列名。你能帮我一下吗?
select cast (sample_dt||'|'||trim(trailing '.' from trim(leading ' ' from acct_id))||'|'||name1||'|'||ent_sub_lob||'|'||app_dt||'|'||home_phn_num||'|'||city_1_name||'|'||geo_st_cd||'|'||surveyid||'|'||study_type||'|'||ent_lob||'|'||channel||'|'||market_C||'|'||merchant_id as char(300))
from ud.testing;
如果我理解正确的话,您需要一个 table 列名称或您当前的派生列,即 cast (sample_dt||'|'||trim(trailing '.' from.....
名称作为 |
分隔。在这两种情况下,您只需要在列名称周围加上双引号 ""
,如下所示。
在创建中 Table:
create TABLE t1(
"x1 | y1" char(300)
);
您可以使用 show
命令检查创建的 table 定义。
show TABLE t1;
CREATE SET TABLE t1 ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
"x1 | y1" CHAR(300) CHARACTER SET LATIN NOT CASESPECIFIC)
PRIMARY INDEX ( "x1 | y1" );
在派生列中:
SELECT 'abc'||' | '|| 'zyc' as "Test | ABC";
Test | ABC
----------
abc | zyc
您当前的查询将变为。
SELECT CAST (sample_dt||'|'||trim(TRAILING '.'
FROM trim(LEADING ' '
FROM acct_id))||'|'||name1||'|'||ent_sub_lob||'|'||app_dt||'|'||home_phn_num||'|'||city_1_name||'|'||geo_st_cd||'|'||surveyid||'|'||study_type||'|'||ent_lob||'|'||channel||'|'||market_C||'|'||merchant_id AS char(300)) AS "Pipe | Seperated"
FROM ud.testing;
希望对您有所帮助:-)