|  | Posted by Erland Sommarskog on 09/06/05 10:18 
(chudson007@hotmail.com) writes:> With the syntax below, why is field1a not "A" if field1 does not
 > contain "_"
 >
 >
 >
 > SELECT     Field1a = CASE WHEN (field1 LIKE '%_%') THEN (charindex('_',
 > field1)) ELSE 'A' END, field1
 > FROM         [Table1]
 
 In SQL _ is a wildcard for exactly one occurrance of one characater. Thus
 %_% matches anything but the empty string. Change to %[_]% to get what you
 want.
 
 ....by the way, CASE is an expression, not a statement, in SQL.
 
 --
 Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
 
 Books Online for SQL Server SP3 at
 http://www.microsoft.com/sql/techinfo/productdoc/2000/books.asp
  Navigation: [Reply to this message] |