Not directly, but you can wrap it in a subquery.
SQL statement
SELECT * FROM ( SELECT CONVERT(DATETIME, ( CASE WHEN Operator = 'T' THEN ( SUBSTRING( SendDate, 7, 4 ) + '-' + SUBSTRING( SendDate, 4, 2 ) + '-' + SUBSTRING( SendDate, 1, 2 ) + SUBSTRING( SendDate, 11, 9 ) ) ELSE RecivedSMS.SendDate END)) AS DefinedDate FROM YourTable ) q WHERE DATEPART( wk, DefinedDate ) = 52
Update
I believe the following will be equivalent to what you wrote:
SELECT q.DefinedDate , q.NumberField FROM ( SELECT Sender , NumberField = SUBSTRING(Table1.Message, 7, 7) , Operator , CONVERT( DATETIME , ( CASE WHEN Operator = 'T' THEN SUBSTRING( SendDate, 7, 4 ) + '-' + SUBSTRING( SendDate, 4, 2 ) + '-' + SUBSTRING( SendDate, 1, 2 ) + SUBSTRING( SendDate, 11, 9 ) ELSE SendDate END )) AS DefinedDate FROM Table1 WHERE Table1.Operator IS NOT NULL ) q INNER JOIN Table2 ON Table2.PhoneNumber = Tabl1.Sender WHERE q.NumberField LIKE 'TREE ST%' AND DATEPART( wk, q.DefinedDate ) = 52 AND DATEPART( year, q.DefinedDate ) = 2010
Lieven keersmaekers
source share