代码之家  ›  专栏  ›  技术社区  ›  Sachin R

SQL:返回所需格式的值

  •  0
  • Sachin R  · 技术社区  · 14 年前
    select myvalue from mytable where id=1;
    

    它返回10位数的值( Ex: 1234567890 ).
    我想要这些价值 1234.56.7890

    可以以所需格式而不是存储格式返回值。

    你的想法很好

    3 回复  |  直到 14 年前
        1
  •  3
  •   Mike    14 年前

    这里有一个稍微令人困惑的选择:

    SELECT REVERSE(
      INSERT(
        INSERT(REVERSE(1234567890), 5, 0, '.'),
          8, 0, '.')) AS formatted;
    
    +--------------+
    | formatted    |
    +--------------+
    | 1234.56.7890 |
    +--------------+
    

        2
  •  0
  •   angryobject    14 年前

    试着使用 Format

        3
  •  0
  •   Anil Soman    14 年前

    这是一个有点贵的命令。但是如果你的小数点位置是固定的,而myvalue总是10位的话,它就可以工作了

    SELECT LEFT(CONVERT(varchar(10),myvalue),4) + '.' +
    SUBSTRING(CONVERT(varchar(10),myvalue),5,2) + '.' +
    SUBSTRING(CONVERT(varchar(10),myvalue),7,4)