Заполнитель для десятичного столбца в SQL - PullRequest
0 голосов
/ 06 сентября 2018

Я новичок в SQL, поэтому на этот вопрос, скорее всего, просто и легко ответить.

Я создаю временную таблицу, в которой я хочу, чтобы пустой столбец заполнялся позже десятичными значениями.

Могу ли я использовать в качестве заполнителя в своем операторе SELECT, чтобы указать, что я хочу, чтобы десятичные значения заполняли столбец?

Для столбцов, которые я буду заполнять целочисленными значениями, я использую следующий код:

SELECT 0 AS ColumnName

Я не верю, что это будет работать для столбца, который я хочу заполнить десятичными значениями, так как я считаю, что 0 указывает целочисленные значения.Есть ли что-то, что я могу использовать вместо 0?

Любая помощь будет признательна!

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Использование 0 в поле с плавающей запятой не приведет к усечению записи, поскольку она содержит меньшую точность, чем с плавающей запятой, поэтому это можно сделать безопасно и подразумевает 0,0

Вы также можете ПО УМОЛЧАТЬ поле до 0.0 в объявлении таблицы, поэтому оно будет 0.0 до обновления. Но не обязательно.

Пример: CREATE TABLE table ( col1 FLOAT(size,d) DEFAULT 0.0 )

0 голосов
/ 06 сентября 2018

SQL будет выполнять неявное преобразование некоторых типов, когда известно, что нет риска потери данных. В вашем случае int может безопасно преобразовать в десятичную, потому что нет никакого способа испортить ваши данные. 0 означает 0,0 для SQL.

Обратное не будет правдой, так как приведение от десятичного к целому потеряет десятичную часть. Следовательно, SQL не будет неявно приводить противоположное.

Ваш запрос хорош как есть.

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