zoukankan      html  css  js  c++  java
  • 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个字符为楼层。

        

  • 相关阅读:
    【HDOJ】1811 Rank of Tetris
    【HDOJ】1518 Square
    日期类 Date
    RunTime
    System 系统类
    StringBuffer
    获取联系人列表的时候contact_id出现null的值
    String类
    object类
    eclipse使用的步骤
  • 原文地址:https://www.cnblogs.com/lantianhf/p/5914504.html
Copyright © 2011-2022 走看看