2017-04-26 50 views
1

我想顯示郵政編碼的前4位數字,例如:WC4 5,所以要排除郵政編碼的最後3個字符和每個郵遞的遞送數量按星期編碼,如第1周,第2周爲遊行。這是我的查詢如何排除郵政編碼的最後3個字符

SELECT 

    [Post Code] 

    ,[Order Date] 


    FROM [TBW_BI].[dbo].[Skids $Orders] 

    where [Country]='united kingdom' and 
[Order Date] >= '2017-03-01T00:00:00.000' AND 
[Order Date] <= '2017-03-06T00:00:00.000' 
+0

對前4個字符使用'left([Post Code],4)'。 –

回答

0

,如果你想永遠排除最後三個字符,這應該工作。如果您希望所有內容都位於空格之後的第一個字符之後,則取決於第二部分是否始終爲4個字符。

select substring([Post Code],1,(len([Post Code])-3)) as trimmed_post_code 
,[Post Code] 
,[Order Date] 
FROM [TBW_BI].[dbo].[Skids $Orders]  
where [Country]='united kingdom' and 
[Order Date] >= '2017-03-01T00:00:00.000' AND 
[Order Date] <= '2017-03-06T00:00:00.000' 
1

簡單的左條款應做到:

SELECT left([Post Code], len([Post Code]) - 3) as [Post Code] 
     ,[Order Date] 
FROM [TBW_BI].[dbo].[Skids $Orders] 
where [Country]='united kingdom' and 
[Order Date] >= '2017-03-01T00:00:00.000' AND 
[Order Date] <= '2017-03-06T00:00:00.000' 
+0

但問題是,我已經顯示4個租船人總是例如:we11(對於we11 2ng)和wc1 4(對於wc1 4lx),因此總是4個字符必須在報告中。當我申請-3時,它顯示3個字母,郵編是wc1 4lx。請幫忙。 – jiroe

+0

輸出中是否需要保留空格,即「wc14」與「wc1 4」(對於wc1 4lx)是否有關係? – Anand

+0

嗨,謝謝,解決了出空間。使用替換和子字符串。 – jiroe