views:

146

answers:

8

In my database MYDB i have a table called MYTABLE and inside it I have a column called NAME. I want to only return the first 100 characters of the column NAME. (NAME can be up to 2000 characters).

How can this be done in SQL as I want to set the first 100 characters to a ASP.NET label.

Thanks in advanced!

+3  A: 

select left(NAME, 100) as Name, ... from MYTABLE...

baldy
Thanks, since you answered first I marked yours!
Etienne
+3  A: 

You can use the LEFT function, e.g.

SELECT LEFT(mt.NAME, 100) AS SHORTNAME FROM MYTABLE mt
Greg Beech
+2  A: 

Use Substring:

SELECT SUBSTRING(NAME, 1, 100) AS [ShortName] 
FROM MYTABLE
ck
+1  A: 

Hi,

SELECT SUBSTRING( NAME, 0 , 100 )
FROM MYTABLE 
IordanTanev
Substring has a 1-based indexer, not 0.
ck
+1  A: 

Use SUBSTRING function:

SELECT SUBSTRING(NAME, 1, 100) AS LABEL FROM MYTABLE
Grzegorz Gierlik
+1  A: 

Use the LEFT function:

SELECT LEFT(NAME, 100) AS NAME FROM MYTABLE
Phil Ross
+1  A: 

I like it with dots to show that there is more text

SELECT
  CASE
    WHEN LEN(NAME) <= 100 THEN NAME
    ELSE LEFT(NAME, 97) + '...'
  END SHORTNAME
FROM TABLE
Scoregraphic