How to Trim Trailing Spaces in Teradata Table Columns
I Want to Trim Trailing Spaces for Teradata Table Columns, I Do It Like This, Trim(Trailing from Dictionary_Managed_Databases. Dbname), or Use Trim Directly...
i want to trim trailing spaces for teradata table columns,
i do it like this,
trim(trailing from dictionary_managed_databases.dbname),
or use trim directly,
trim(dictionary_managed_databases.dbname),
but the result shows:
seems the trim do not work, not sure how to do it in teradata,
2 Answers
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
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';
the result
don't understand why output of field dbname still look like this,