select myvalue from mytable where id=1;
它返回10位数值(Ex: 1234567890
)
我希望1234.56.7890
格式的这些值作为返回值。
表示 myvalue 可以按所需格式返回值,而不是以存储格式返回。
任何人都可以帮助我。 你的想法很受欢迎
答案 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)