How to find records with length greater than 17

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • ciojr@yahoo.com

    How to find records with length greater than 17

    how do i write sql statment to find records with name greater than 17
    characters.


  • Plamen Ratchev

    #2
    Re: How to find records with length greater than 17

    The LEN function returns the number of characters excluding trailing blanks:

    SELECT namecol
    FROM Foo
    WHERE LEN(namecol) 17;

    The DATALENGTH function returns the number of bytes.

    HTH,

    Plamen Ratchev

    Comment

    • John Sheppard

      #3
      Re: How to find records with length greater than 17


      "Plamen Ratchev" <Plamen@SQLStud io.comwrote in message
      news:t9ednRsfVu 9McZHVnZ2dnUVZ_ jSdnZ2d@speakea sy.net...
      The LEN function returns the number of characters excluding trailing
      blanks:
      >
      SELECT namecol
      FROM Foo
      WHERE LEN(namecol) 17;
      >
      The DATALENGTH function returns the number of bytes.
      >
      HTH,
      >
      Plamen Ratchev
      http://www.SQLStudio.com
      Wouldnt it matter if the field was in unicode then? What do you do if you
      want to include the spaces?

      I dont really want to know I just thought it weird that len would behave
      like that...(Im an SQL server noob)

      John Sheppard


      Comment

      • Plamen Ratchev

        #4
        Re: How to find records with length greater than 17

        There is no difference when you use LEN with Unicode column. If you need to
        include the spaces you can use DATALENGTH. The only considerations is that
        it returns number of bytes, so for NVARCHAR/NCHAR/NTEXT will return double
        the length.

        HTH,

        Plamen Ratchev


        Comment

        • ciojr@yahoo.com

          #5
          Re: How to find records with length greater than 17

          On Apr 21, 3:36 pm, "Plamen Ratchev" <Pla...@SQLStud io.comwrote:
          The LEN function returns the number of characters excluding trailing blanks:
          >
          SELECT namecol
          FROM Foo
          WHERE LEN(namecol) >17;
          >
          The DATALENGTH function returns the number of bytes.
          >
          HTH,
          >
          Plamen Ratchevhttp://www.SQLStudio.c om
          Right - i dont want to include spaces.
          I want to check where the first word is greater than 17

          Comment

          • Gert-Jan Strik

            #6
            Re: How to find records with length greater than 17

            ciojr@yahoo.com wrote:
            >
            On Apr 21, 3:36 pm, "Plamen Ratchev" <Pla...@SQLStud io.comwrote:
            The LEN function returns the number of characters excluding trailing blanks:

            SELECT namecol
            FROM Foo
            WHERE LEN(namecol) >17;

            The DATALENGTH function returns the number of bytes.

            HTH,

            Plamen Ratchevhttp://www.SQLStudio.c om
            >
            Right - i dont want to include spaces.
            I want to check where the first word is greater than 17
            It won't do that. For example, the query above will also select the row
            where namecol has a value of 'John Smithersonson'

            So if Plamen's solution does not do what you want, then please some
            example data and desired output.

            --
            Gert-Jan

            Comment

            Working...