【问题标题】:trim left characters in sql server?在sql server中修剪左边的字符?
【发布时间】:2011-01-11 20:50:28
【问题描述】:

我想编写一个 sql 语句来从字符串“Hello World”中修剪一个字符串“Hello”。 请提出建议。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    对于字符串开头的“Hello”:

    SELECT STUFF('Hello World', 1, 6, '')
    

    这适用于字符串中任何位置的“Hello”:

    SELECT REPLACE('Hello World', 'Hello ', '')
    

    【讨论】:

      【解决方案2】:

      所以你只想打印Hello 对,你可以使用它(适用于命令行客户端和工作台)

      Select TRIM('World' from 'Hello World') as result;
      

      【讨论】:

        【解决方案3】:

        您可以将 LEN 与 SUBSTRING 结合使用:

        SELECT SUBSTRING(myColumn, 7, LEN(myColumn)) from myTable
        

        【讨论】:

          【解决方案4】:
          select substring( field, 1, 5 ) from sometable
          

          【讨论】:

          • 马克,我需要从表格中修剪一列的左8个字符。请建议。
          • @Simhadri:在这种情况下,正如my answer 中的建议,您可以使用SELECT STUFF(field,1,8,'') FROM sometable
          【解决方案5】:

          删除最左边的单词,您需要使用 RIGHT 或 SUBSTRING。假设您知道涉及多少个字符,则可能如下所示:

          SELECT RIGHT('Hello World', 5)
          SELECT SUBSTRING('Hello World', 6, 100)
          

          如果您不知道第一个单词有多少个字符,则需要使用 CHARINDEX 找出,然后将该值替换回 SUBSTRING:

          SELECT SUBSTRING('Hello World', CHARINDEX(' ', 'Hello World') + 1, 100)
          

          这会找到第一个空格的位置,然后将剩余的字符移到右边。

          【讨论】:

            【解决方案6】:

            使用“左”

             select left('Hello World', 5)
            

            或使用“SUBSTRING”

             select substring('Hello World', 1, 5)
            

            【讨论】:

            • Shane 感谢您的回复,我需要从 Hello World 中显示 World。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-03-13
            • 1970-01-01
            • 2010-09-15
            • 1970-01-01
            • 2020-10-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多