Home Forums SQL Server 2008 T-SQL (SS2K8) Problem with CAST to VARCHAR with SUBSTRING Function RE: Problem with CAST to VARCHAR with SUBSTRING Function

  • Welsh Corgi (1/21/2013)


    I had to use a CONVERT with the SUBSTRING Function as opposed to the CAST.

    This works.

    SELECT

    CASE WHEN CAST(LEFT(Customer.STARTDATE, 2 AS VARCHAR(2)))

    = '98' THEN CAST(substring(Customer.STARTDATE, 3, 2) AS VARCHAR(2))

    WHEN LEFT(CAST(Customer.STARTDATE, 2) AS VARCHAR(2)) = '99' THEN

    SUBSTRING(CONVFERT(VARCHAR(20),(Customer.STARTDATE, 3, 2) AS VARCHAR(2)) END AS LosstMo

    FROM Customer

    Thanks.

    Really? When I post the following into SSMS and click parse I get an error:

    SELECT

    CASE WHEN CAST(LEFT(Customer.STARTDATE, 2 AS VARCHAR(2)))

    = '98' THEN CAST(substring(Customer.STARTDATE, 3, 2) AS VARCHAR(2))

    WHEN LEFT(CAST(Customer.STARTDATE, 2) AS VARCHAR(2)) = '99' THEN

    SUBSTRING(CONVFERT(VARCHAR(20),(Customer.STARTDATE, 3, 2) AS VARCHAR(2)) END AS LosstMo

    FROM Customer

    Error:

    Msg 156, Level 15, State 1, Line 2

    Incorrect syntax near the keyword 'AS'.