• Hello,

    The proposed solution doesn't work with other languages:

    SET LANGUAGE GERMAN

    SELECT Datename(m, TheDate)TheMonthName, TheDate, Month(TheDate) TheMonth FROM (

    SELECT '19000101' AS TheDate

    UNION ALL SELECT '19000201'

    UNION ALL SELECT '19000301'

    UNION ALL SELECT '19000401'

    UNION ALL SELECT '19000501'

    UNION ALL SELECT '19000601'

    UNION ALL SELECT '19000701'

    UNION ALL SELECT '19000801'

    UNION ALL SELECT '19000901'

    UNION ALL SELECT '19001001'

    UNION ALL SELECT '19001101'

    UNION ALL SELECT '19001201'

    ) TheDates

    WHERE LEN(Datename(m, TheDate))%2 = 0

    Changed language setting to Deutsch.

    TheMonthName TheDate TheMonth

    ------------------------------ -------- -----------

    Januar 19000101 1

    März 19000301 3

    Juni 19000601 6

    Juli 19000701 7

    August 19000801 8

    November 19001101 11

    Dezember 19001201 12

    Another solution could be the following (the month list must be adjusted for your specific language):

    SET LANGUAGE English

    SELECT Datename(m, TheDate)TheMonthName, TheDate, Month(TheDate) TheMonth FROM

    (SELECT '19000101' AS TheDate

    UNION ALL SELECT '19000201'

    UNION ALL SELECT '19000301'

    UNION ALL SELECT '19000401'

    UNION ALL SELECT '19000501'

    UNION ALL SELECT '19000601'

    UNION ALL SELECT '19000701'

    UNION ALL SELECT '19000801'

    UNION ALL SELECT '19000901'

    UNION ALL SELECT '19001001'

    UNION ALL SELECT '19001101'

    UNION ALL SELECT '19001201') TheDates

    WHERE 'FebruaryJuneJulyAugustNovemberDecember' LIKE '%' + DATENAME(m, TheDate) + '%'

    Results:

    Changed language setting to us_english.

    TheMonthName TheDate TheMonth

    ------------------------------ -------- -----------

    February 19000201 2

    June 19000601 6

    July 19000701 7

    August 19000801 8

    November 19001101 11

    December 19001201 12

    Best Regards,

    Chris Büttner