как обрезать конечные пробелы в столбцах таблицы teradata - PullRequest
0 голосов
/ 18 мая 2018

я хочу обрезать конечные пробелы для столбцов таблицы teradata,

я делаю это так,

trim(trailing from dictionary_managed_databases.dbname),

или использую обрезку напрямую,

trim(dictionary_managed_databases.dbname),

, норезультат показывает: enter image description here

кажется, что обрезка не работает, не уверен, как это сделать в teradata,

Ответы [ 2 ]

0 голосов
/ 20 мая 2018
create volatile table test ( dbname varchar(128) CHARACTER SET UNICODE ) on commit preserve rows;
insert into test values ( 'Database-Name' );
-- you don't need to trim a varchar column
select dbname || '~'  from test;
(dbname||'~')
---------------------------------------------------------------------------------------------------------------------------------
Database-Name~
-- it is always max length, so not to loose any possible content
select trim(dbname) || '~'  from test;
(Trim(BOTH FROM dbname)||'~')
---------------------------------------------------------------------------------------------------------------------------------
Database-Name~
-- you may cast it to shorten the resulting column
select cast(trim(dbname) as varchar(30)) from test;
Trim(BOTH FROM dbname)
------------------------------
Database-Name
-- it will never be less then the header, even if the content is less
select cast(trim(dbname) as varchar(10)) from test;
Trim(BOTH FROM dbname)
----------------------
Database-N
-- but it will truncate the result
select cast(trim(dbname) as varchar(10)) as dbname from test;
dbname
----------
Database-N
0 голосов
/ 19 мая 2018
sel 
dictionary_object_map.moId,
trim(dictionary_managed_databases.dbname)|| '~',
dictionary_deployed_info.dictionaryId,
dictionary_deployed_info.dictionaryName,
dictionary_managed_objects.moname
from dictionary_object_map,
dictionary_deployed_info,
dictionary_managed_objects ,
dictionary_managed_databases
where 
dictionary_object_map.dictionaryId=dictionary_deployed_info.dictionaryId 
and dictionary_object_map.moid=dictionary_managed_objects.moid
and dictionary_managed_databases.moDBId=dictionary_managed_objects.moDBId
and dictionary_managed_databases.dbname = 'customerservice';

результат

enter image description here

не понимаю, почему вывод поля dbname по-прежнему выглядит так,

...