SQL:以所需格式返回值

时间:2010-08-27 10:03:43

标签: sql mysql

select myvalue from mytable where id=1;

它返回10位数值(Ex: 1234567890) 我希望1234.56.7890格式的这些值作为返回值。

表示 myvalue 可以按所需格式返回值,而不是以存储格式返回。

任何人都可以帮助我。 你的想法很受欢迎

3 个答案:

答案 0 :(得分:3)

这是一个有点令人困惑的选择:

SELECT REVERSE(
  INSERT(
    INSERT(REVERSE(1234567890), 5, 0, '.'),
      8, 0, '.')) AS formatted;

+--------------+
| formatted    |
+--------------+
| 1234.56.7890 |
+--------------+

这适用于较短的数字 - 例如123。

答案 1 :(得分:0)

尝试使用Format功能。

答案 2 :(得分:0)

这是一个昂贵的命令。但是如果您的小数位置是固定的并且myvalue总是10位数

,它将起作用
SELECT LEFT(CONVERT(varchar(10),myvalue),4) + '.' +
SUBSTRING(CONVERT(varchar(10),myvalue),5,2) + '.' +
SUBSTRING(CONVERT(varchar(10),myvalue),7,4)