Mysql выберите двойную константу - PullRequest
1 голос
/ 03 апреля 2012

Это не разрешено в Mysql:

SELECT CAST(0 as DOUBLE) as ZERO

Как мне это сделать?

Ответы [ 5 ]

2 голосов
/ 03 апреля 2012

Коллега нашел ответ:

SELECT 0.0 + '0' as ZERO

Трюк.

1 голос
/ 03 апреля 2012

При использовании CAST тип может быть одним из следующих:

BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]

Таким образом, ваш пример будет:

SELECT CAST(0 as DECIMAL) as ZERO

Вы можете дополнительно указать разрешенную точность,Например:

SELECT CAST(0 as DECIMAL(18,8)) as ZERO

Ссылка: http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

0 голосов
/ 03 апреля 2012

Вы не можете сделать это, типы, которые вы можете привести, описаны здесь: MySQl Docs - Функции Cast

Если вы опишите более точно, что вы хотите заархивировать, это будетнам проще ответить.

0 голосов
/ 03 апреля 2012

Я всегда использовал десятичное число в документах: «Максимальный диапазон значений DECIMAL такой же, как для DOUBLE»

так что приведение SELECT (0 как десятичное) как ноль;

0 голосов
/ 03 апреля 2012

Я думаю, что вы хотите бросить на DECIMAL, а не DOUBLE. Вот официальная документация со списком типов: http://dev.mysql.com/doc/refman/5.6/en/cast-functions.html#function_cast

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...