Pull to refresh
38
0
Сергей Меньшов @Leran2002

Разработчик БД

Send message
Спасибо! Очень полезное дополнение. Я как-то совсем забыл об этом.
Нет, функции CONVERT и CAST ведут себя аналогично, в этом можно убедиться выполнив простой тест:

SELECT
  ID,
  CAST(ID AS float) Col1, -- float
  CONVERT(float,ID) Col2, -- float

  CAST(ID AS float)/100 Col3, -- float
  CONVERT(float,ID)/100. Col4, -- float

  ID*1. Col5, -- numeric(12, 0) - 0 знаков после запятой
  ID*1.0 Col6, -- numeric(13, 1) - 1 знак
  ID*1.00 Col7, -- numeric(14, 2) - 2 знака

  ID*1./100 Col8, -- numeric(18, 6)
  
  ID/1. Col9 -- numeric(16, 6)
INTO _TestType -- посмотрите на столбцы этой таблицы
FROM Employees


А если мы используем (/1.) то идет неявное преобразование в тип numeric(16, 6) – оттуда и взялись шесть цифр после запятой, скорее всего вы это и увидели.

Вообще на тему преобразований можно написать отдельный раздел, правда я не знаю стоит ли сейчас этим грузить начинающих? Т.к. я намерено не стал пока упоминать разные числовые типы, а разделил их просто на вещественные и целые. В первую очередь мне хочется донести суть конструкций языка DML.
Спасибо за аргументированный ответ!
Внес дополнения и сделал местами поправки. Как появится время еще раз пройдусь по тексту.
Qbit, спасибо, что подняли этот вопрос!
В данном случае, я считаю это не суть важно, по контексту ведь понятно, о чем идет речь.
Ведь даже в разговорной речи, по большей части мы говорим «БД Oracle», или даже просто «Oracle», на самом деле подразумевая «СУБД Oracle». Если, мы хотим поговорить непосредственно о компании «Oracle» или «СУБД Oracle», со всеми его инструментами, мы же предварительно переключаем человека на этот или иной контекст, чтобы было понятно, о чем идет речь.
Даже, если говорить вашими терминами, мы же обычно просто говорим «посмотри такую-то статью в интернет», а не посмотри такую-то статью через «Internet Explorer» или «Google Chrome».
Думаю, дальнейший спор не имеет смысла.
Разве в данном случае это суть важно?
Хорошо, попробуем порассуждать.
Если говорить грубо, то БД – файл в котором данные хранятся в структурированном виде (в переводе на ваши термины – это интернет). Созданию данной структуры при помощи языка DDL и посвящена данная статья – мы создаем именно структуру БД и термин СУБД я считаю здесь ни причем.
СУБД – система для работы с данным файлом (Internet Explorer).
БД — непосредственно База Данных.
СУБД — Система Управления этими БД.
Почитайте на Википедии.
Пожалуйста! Рад что материал оказался полезен и у вас все получилось.
Спасибо за комментарий! Я добавил предложение, что временные таблицы так же можно удалять командой DROP TABLE, а также добавил немного новых заметок.
В данной статье я пытался максимально полно охватить основы DDL в его чистом виде, и рассказать об этом в максимально сжатой форме. Поэтому, чтобы как можно меньше отступать от основной цели, я исключил всякого рода проверки, которые в MS SQL требуют использования расширения T-SQL (но, не исключено, что это станет темой отдельного разговора). К тому же думаю, столкнувшись с проблемой проверки существования объекта, человек сам, сможет достаточно легко найти решение, которое для разных БД так же может быть своим (где-то данные проверки могут непосредственно использоваться как опция, входящая в состав команд DDL – для примера, в MySQL можно использовать CREATE … IF NOT EXISTS или DROP … IF EXISTS).
Спасибо за комментарий! Поправил название темы.
2

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity