如何在SQL Server中将文本数据更改为数字?

use*_*947 4 t-sql sql-server sql-server-2008

SELECT 
    a.AccountNumber, a.FirstName, a.LastName, a.Address, a.City, a.State, 
    a.Zip, a.EmailAddress, a.PhoneNumber, a.LastUpdated, a.LastVisit, 
    a.TotalSales, a.AccountOpened, a.CustomText4 as StoreCode, 
    CASE
        WHEN (a.CustomText1 IS 'JAN') THEN '1' 
    END AS DOB, 
    GETDATE() as Extract_date
FROM 
    database.dbo.Customer a
Run Code Online (Sandbox Code Playgroud)

CustomText1 列包含带有文本数据的月份数据.我正在尝试将JAN-DEC转换为数字.

CASE WHEN IS '' isn't working.

Gre*_*reg 7

"IS"不是CASE语句的有效表达式.查看在线文档,您有几种方法可以做到这一点,这是最简单的方法,其余几个月重复一遍.

SELECT DOB = 
    CASE a.CustomText1
        WHEN 'JAN' THEN '1'
        WHEN 'FEB' THEN '2'
        WHEN 'MAR' THEN '3'
        ELSE a.CustomText1
    END
FROM database.dbo.Customer a
Run Code Online (Sandbox Code Playgroud)