Solved

SQL DISTINCT ON TEXT FIELD CAUSES ERROR

Posted on 2001-06-20
4
1,993 Views
Last Modified: 2008-03-04
I have a query that is returning dups.  I tried using DISTINCT but it wont allow it because I do a select * and some of the fields are TEXT fields.  How can I work around this?  I have to have those in my query Thanks.
0
Comment
Question by:bostonroxx
  • 2
4 Comments
 
LVL 3

Expert Comment

by:arun04
ID: 6213303
Use convert function on columns of TEXT type and convert them to VARCHAR, it will truncate some data but it works fine
0
 

Accepted Solution

by:
meetyg earned 50 total points
ID: 6214254
The Distinct feature doesn't work on TEXT,IMAGE, NTEXT or BINARY data columns.
If the text isn't more than 8kb of data (on SQL 2000, or 255 bytes if your using SQL 6.5 or 7), you can convert as mentioned. If the text field is bigger than that, data maybe lost, or it moght not work at all.

Heres how to do the convert:
------------------------------------------------------
select Distinct Convert(text_column_name,varchar(8000)) from mytable_tbl
------------------------------------------------------

notice that I chose to convert to varchar(8000) because 8000 bytes is the maximum amount of data that varchar can hold in SQL server 2000.

If i'm not mistaken, SQL server 6.5 and 7 can only handle 255 bytes of data in the varchar datatype.

Either way, you cannot explicitly use distinct on TEXT columns.

Goodluck.

0
 

Author Comment

by:bostonroxx
ID: 6214569
Should I just change this to Varchar(2000)?
0
 

Expert Comment

by:meetyg
ID: 6218835
Yes, if 2000 characters is enough, you can convert to varchar(2000)
0

Featured Post

Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Having an SQL database can be a big investment for a small company. Hardware, setup and of course, the price of software all add up to a big bill that some companies may not be able to absorb.  Luckily, there is a free version SQL Express, but does …
I have a large data set and a SSIS package. How can I load this file in multi threading?
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question