簡體   English   中英

VBA 腳本中的多個 case 語句

[英]multiple case statement in VBA script

我在 Excel VBA 中編寫這些多個“case when”語句時遇到錯誤。腳本在 SQL 服務器中運行完美,但我無法在 Excel VBA 中正確格式化它,以便它可以正確運行。 請幫忙?!

這是在 VBA 中寫入長字符串的方式:

    StrQuery = "Select" & _
" case when srvprovid like '01%' then 'AL'" & _
"      WHEN srvprovid like '02%' then 'AK'" & _
"      WHEN srvprovid like '03%' then 'AR'" & _
" ..."

這就是我建議你做的(只是一個展示想法的示例,沒有編寫完整的代碼):

DECLARE @sample TABLE (srvProvId VARCHAR(10), id INT IDENTITY);
INSERT INTO @sample (srvProvId) VALUES 
('010'),
('01'),
('020'),
('030'),
('040');

DECLARE @states VARCHAR(1000) = 'AL,AK,AR,AZ,CA,CO,CT'; -- DE,DC,FL...
DECLARE @tally TABLE (id INT IDENTITY, abrv CHAR(2));

INSERT @tally (abrv)  
SELECT value FROM STRING_SPLIT(@states, ',') ;

SELECT * 
FROM @sample t1
LEFT JOIN @tally t2 ON t1.srvProvId LIKE RIGHT('0'+CAST(t2.id AS VARCHAR(2)),2)+'%';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM