如果我理解正确的话,您可能需要一个表的列名或当前的派生列,即cast (sample_dt||'|'||trim(trailing '.' from.....
名|
分离。在这两种情况下,您只需要在列名称周围使用双引号""
,如下所示。
在创建表:
create TABLE t1(
"x1 | y1" char(300)
);
您可以查看创建的表定义与show
命令。
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;
希望这将有助于:-)
代替所有的concats更好地切换到Teradata的CSV:https://info.teradata.com/HTMLPubs/DB_TTU_16_00/SQL_Reference/B035-1145-160K/ mah1472241143314.html# – dnoeth
添加到Teradata CSV查询针对DBC字典视图ColumnsV动态获取列名称。 –
可能会更容易,但力德试试这个。但是,谢谢你快速解决这个 –