从右侧和左侧删除空格(修剪)所有选定列

3wabscal  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(304)

我看了一些文件 SELECT TRIM('') FROM something; 可以用来修剪弦。
我有sql命令来获取表:

"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%'"

但这是一个错误。在这种情况下,使用饰件的正确方法是什么?我需要从左边和右边删除空格,但如果有的话,就把它们放在中间。
错误消息:
客户端接口][lna][psql][sql engine]表达式中出现错误:trim(nro)error[hy000][psql][odbc client interface][lna][psql][sql engine][data record manager]无效的用户定义函数或标量函数。'

oknwwptz

oknwwptz1#

您可以使用ltrim和rtrim函数来删除2017年之前sql server的起始和结束空间。
因此,您的查询变成:

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函数。

相关问题