从右侧和左侧删除空格 (TRIM) 所有选定的列
Remove spaces from right and left (TRIM) all selected columns
我已经阅读了一些文档,因为它指出 SELECT TRIM('') FROM something;
可以用于 trim 字符串。
我有 SQL 命令获取 table:
"select NRO,SNAME,NAMEA,NAMEB,ADDRESS,POSTS,POSTN,POSTTP,COMPANY,COUNTRY,BID from COMPANY where ACTIVE = '1' AND NRO Like '7%'"
所以我尝试使用:
"select TRIM(NRO),TRIM(SNAME),TRIM(NAMEA),TRIM(NAMEB),TRIM(ADDRESS),TRIM(POSTS),TRIM(POSTN),TRIM(POSTTP),TRIM(COMPANY),TRIM(COUNTRY),TRIM(BID) from COMPANY where ACTIVE = '1' AND NRO Like '7%'"
但这会引发错误。在这种情况下使用 TRIM 的正确方法是什么?
我需要删除左右两边的空格,但如果有的话,将它们留在中间。
错误信息:
Client Interface][LNA][PSQL][SQL Engine]Error in expression: TRIM (
NRO ) ERROR [HY000] [PSQL][ODBC Client Interface][LNA][PSQL][SQL
Engine][Data Record Manager]Invalid user-defined or scalar function.'
您可以使用 LTRIM 和 RTRIM 函数删除 2017 年之前 SQL 服务器的起始和结束空格。
因此,您的查询变为:
select RTRIM(LTRIM(NRO)),
RTRIM(LTRIM(SNAME),
RTRIM(LTRIM(NAMEA)),
RTRIM(LTRIM(NAMEB)),
RTRIM(LTRIM(ADDRESS)),
RTRIM(LTRIM(POSTS)),
RTRIM(LTRIM(POSTN)),
RTRIM(LTRIM(POSTTP)),
RTRIM(LTRIM(COMPANY)),
RTRIM(LTRIM(COUNTRY)),
RTRIM(LTRIM(BID))
from COMPANY where ACTIVE = '1' AND NRO Like '7%'
对于 SQL Server 2017 及更高版本,您可以按照 Dale K 的建议使用 TRIM 功能。
我已经阅读了一些文档,因为它指出 SELECT TRIM('') FROM something;
可以用于 trim 字符串。
我有 SQL 命令获取 table:
"select NRO,SNAME,NAMEA,NAMEB,ADDRESS,POSTS,POSTN,POSTTP,COMPANY,COUNTRY,BID from COMPANY where ACTIVE = '1' AND NRO Like '7%'"
所以我尝试使用:
"select TRIM(NRO),TRIM(SNAME),TRIM(NAMEA),TRIM(NAMEB),TRIM(ADDRESS),TRIM(POSTS),TRIM(POSTN),TRIM(POSTTP),TRIM(COMPANY),TRIM(COUNTRY),TRIM(BID) from COMPANY where ACTIVE = '1' AND NRO Like '7%'"
但这会引发错误。在这种情况下使用 TRIM 的正确方法是什么? 我需要删除左右两边的空格,但如果有的话,将它们留在中间。
错误信息:
Client Interface][LNA][PSQL][SQL Engine]Error in expression: TRIM ( NRO ) ERROR [HY000] [PSQL][ODBC Client Interface][LNA][PSQL][SQL Engine][Data Record Manager]Invalid user-defined or scalar function.'
您可以使用 LTRIM 和 RTRIM 函数删除 2017 年之前 SQL 服务器的起始和结束空格。
因此,您的查询变为:
select RTRIM(LTRIM(NRO)),
RTRIM(LTRIM(SNAME),
RTRIM(LTRIM(NAMEA)),
RTRIM(LTRIM(NAMEB)),
RTRIM(LTRIM(ADDRESS)),
RTRIM(LTRIM(POSTS)),
RTRIM(LTRIM(POSTN)),
RTRIM(LTRIM(POSTTP)),
RTRIM(LTRIM(COMPANY)),
RTRIM(LTRIM(COUNTRY)),
RTRIM(LTRIM(BID))
from COMPANY where ACTIVE = '1' AND NRO Like '7%'
对于 SQL Server 2017 及更高版本,您可以按照 Dale K 的建议使用 TRIM 功能。