SQL Server:如何忽略varchar的最后5个字符

时间:2018-03-30 21:26:38

标签: sql sql-server

我是SQL新手并使用SQL Server 2012,我试图忽略字符串的最后5个字符...我有这个简单的查询

Select MarketIdentifier from Markets

我试过这个

select SUBSTR(TRIM(MarketIdentifier), 1, LENGTH(TRIM(MarketIdentifier))-2) AS "MarketID" 
from Markets

但我收到了错误

  

Msg 195,Level 15,State 10,Line 4
  “TRIM”不是公认的内置函数名称。

MarketIdentifier有大约20个字符,我只想要前15个字符。任何建议都会很棒

3 个答案:

答案 0 :(得分:3)

对于前15个,您将使用origin/master函数:

left()

但是,你的问题稍微复杂一些。要删除最后五个字符,您可以执行以下操作:

select left(MarketIdentifier, 15) 
from Markets;

答案 1 :(得分:0)

SELECT FILM.NAZEV, 
   FILM.VYDANI, 
   FILM.DELKA, 
   FILM.CENA, 
   LISTAGG(film.JMENO, ',') 
      WITHIN GROUP (ORDER BY film.JMENO) 
AS Produkce
    FROM (select distinct FILM.NAZEV, 
       FILM.VYDANI, 
       FILM.DELKA, 
       FILM.CENA,
       OSOBA.JMENO
 From  FILM_PRODEJNA
INNER JOIN FILM ON FILM_PRODEJNA.FILM_ID_FILM = FILM.ID_FILM
LEFT JOIN FILM_PRODUKCE ON FILM_PRODUKCE.FILM_ID_FILM = FILM.ID_FILM
LEFT JOIN PRODUKCE ON PRODUKCE.ID_PRODUKCE = FILM_PRODUKCE.ID_FILM_PRODUKCE
LEFT JOIN ZASTOUPENI ON ZASTOUPENI.ID_ZASTOUPENI = PRODUKCE.ID_PRODUKCE
LEFT JOIN OSOBA ON ZASTOUPENI.OSOBA_ID_OSOBA = OSOBA.ID_OSOBA ) FILM
GROUP BY FILM.NAZEV, 
   FILM.VYDANI, 
   FILM.DELKA, 
   FILM.CENA

答案 2 :(得分:0)

在您的PHP代码中,只需选择查询并使用trim()函数,无论您想要多少个字符。这应该工作。