sql 從房間號中或從含有幾個"-"間隔的字符串中,截取樓層數,或截取第幾個"-"后的前幾個字符或數字


代號(房間號)

代號

1-1-101

1-5-502

15-3-2001 

 

根據代號房間號截取后的樓層為

樓層

1

5

20

 

SELECT CASE WHEN len(RIGHT(代號, CHARINDEX('-', REVERSE(代號)) - 1))
      = 3 THEN LEFT(RIGHT(代號, CHARINDEX('-', REVERSE(代號)) - 1), 1)
      ELSE LEFT(RIGHT(代號, CHARINDEX('-', REVERSE(代號)) - 1), 2) END AS 樓層, *
FROM [00陶然台帳16]

 

RIGHT(代號, CHARINDEX('-', REVERSE(代號)) - 1) 為截取第三個也就是從右截取也就是最后一個'-'之后的字符串, 如果長度為3則截取第一個字符為樓層,如果長度為4則截取前2個字符為樓層。

 

 

 

 

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM