SQL: возвращаемое значение в требуемом формате

0
select myvalue from mytable where id=1;

оно возвращает значение 10 цифр (Ex: 1234567890).
Я хочу, чтобы это значение в формате 1234.56.7890 в качестве возвращаемого значения.

означает myvalue может возвращать значение в требуемом формате, а не в сохраненном формате.

Может кто-нибудь мне помочь. Вы очень довольны.

  • 0
    Каков тип данных столбца myvalue?
  • 0
    Столбец myvalue содержит длинное значение
Теги:

3 ответа

3
Лучший ответ

Здесь немного запутанная альтернатива:

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

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

Это работает даже для более коротких чисел - например. 123.

  • 0
    Спасибо Майк это работает
0

Попробуйте использовать функцию Format.

  • 0
    Я хочу добавить два десятичных числа между моими значениями.
0

Это небольшая дорогостоящая команда. но он будет работать, если ваша десятичная позиция фиксирована, а myvalue всегда будет 10 цифр

SELECT LEFT(CONVERT(varchar(10),myvalue),4) + '.' +
SUBSTRING(CONVERT(varchar(10),myvalue),5,2) + '.' +
SUBSTRING(CONVERT(varchar(10),myvalue),7,4)
  • 0
    Все еще не работает, но спасибо, я понял ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню