代码之家  ›  专栏  ›  技术社区  ›  Rman Edv

如何在SQL Server中用波斯语文本修剪字段

  •  0
  • Rman Edv  · 技术社区  · 10 年前

    我有一个应该包含城市名称的栏,但一些用户错误地输入了完整地址。现在我想删除其中多余的部分,只保留第一部分。

    例如,我有:

      1- Paris,lab lab, shop shop, no 23
      2- London,street 1,street 2,No 11 
      3- New York,street 1,street 2,No 11   
    

    但我想要的是:

     1-Paris
    
     2-London
    
     3-New York 
    

    但我只想要巴黎,我想删除剩下的 city 专栏是波斯语的,你们可能知道, 波斯语是从右到左写的。

    谢谢你的帮助

    1 回复  |  直到 10 年前
        1
  •  2
  •   Ihor Deyneka    10 年前

    这对我有用:

    SELECT 
    LTRIM(REVERSE(SUBSTRING(REVERSE([name]),1, CHARINDEX('Ù¬', REVERSE('Ù¬' + [name])) - 1)))
    FROM dbo.City
    

    如果要更改数据,可以为UPDATE创建类似的查询。

    要澄清: 如果dbo.City表中有以下城市:

    1. 伦敦
    2. 纽约
    3. 巴黎1号线、2号线

    然后它返回

    1. 伦敦
    2. 纽约
    3. 巴黎

    如果我没有正确理解你,请用你期望的例子更新你的帖子。