簡體   English   中英

如何使我的代碼更有效率(初學者:)

[英]How to make my code more efficient (beginner :)

有人可以建議一個更短的代碼嗎?

CASE 
WHEN  {location} LIKE '%00' OR  {location} LIKE  '%010' OR  {location} LIKE '%011' OR  {location} LIKE '%012' OR  {location} LIKE '%013' THEN '1'
WHEN  {location} LIKE '%38' OR  {location} LIKE '%039' OR  {location} LIKE '%040' OR  {location} LIKE '%041' OR  {location} LIKE '%042' OR  {location} LIKE '%043' OR  {location} LIKE '%044' OR  {location} LIKE '%046' OR  {location} LIKE '%047' THEN '2'
ELSE '3' 
END

相反,您可以嘗試在范圍之間使用多個或

CASE when substr({location}, -2) ='00' 
  or cast(substr({location}, -2)) AS UNSIGNED )between 10 and 13 then '1'
    when cast(substr({location}, -2)) AS UNSIGNED) between 38 and 47 then '2'
  else '3'
end  

如果您使用的是支持正則表達式的數據庫,那么您可以大大簡化它。 例如,在 MySQL 中:

(CASE WHEN  {location} REGEXP '00$|010$|011$|012$|013$' THEN '1'
      WHEN  {location} REGEXP '38$|039$|040$|041$|042$|043$|044$|046$|047$' THEN '2'
      ELSE '3' 
 END)

暫無
暫無

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

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