Array
(
[0] => Array
(
[id] => 1
[company_name] => Google
[CEO] => Mike
[occ] => 14
)
//...
[4] => Array
(
[id] => 3
[company_name] => Bmw
[CEO] => Steve
[occ] => 0
)
)
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
列包含带有文本数据的月份数据。我正在尝试将JAN-DEC转换为数字。
CustomText1
答案 0 :(得分:7)
“IS”不是CASE语句的有效表达式。检查online doc,您有几种方法可以做到这一点,这是最简单的方法,其余几个月都会重复。
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
答案 1 :(得分:1)
格雷格的答案有效,但它超过了12行。以下是如何在一个中完成的。
SELECT MONTH(CAST('01' + CustomText1 + '00' AS DATE))
FROM dbo.Customer