Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153

Как подставить значение поле в IIF или CASE

15.03.2019, 00:54. Показов 2086. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с такой проблемой. (первый раз делаю запрос на MS SQL)
Делаю запрос вида:
SQL
1
SELECT OrderID AS 'Order Number' , ShippedDate, IIF(ShippedDate IS NULL,'Not Shipped', ShippedDate) AS 'Shipped Date'  FROM dbo.Orders WHERE ShippedDate < CONVERT(DATETIME, '20100506', 101) OR ShippedDate IS NULL
поле ShippedDate - типа (datetime, NULL)
При выполнении получаю ошибку:
Сообщение 241, уровень 16, состояние 1, строка 1
Ошибка преобразования даты или времени из символьной строки.
Ругается я так понял на IIF(ShippedDate IS NULL,'Not Shipped', ShippedDate), т.к. если беру его в кавычкм как строку, то запрос выполняется (разумеется выводиться строка а не значение поля). Как мне вывести значение поля ShippedDate? Кстати с CASE такая-же ситуация
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2019, 00:54
Ответы с готовыми решениями:

Как автоматически подставить значение в поле
1. Есть справочник Контрагенты и подчиненный ему справочник ВидДоговоров, и есть документ ПоступлениеТовара с реквизитами Контрагент и...

Подставить значение в поле таблицы поле запроса
Здравствуйте, есть ли какая-то возможность подставить вместо поля в таблице поле с запроса? Таблица: Поставка (IDПоставка,...

Подставить значение в поле документа
Всем доброго времени суток! Такой вопрос, дорогие форумчане. Сразу прошу не серчать - я новичёк в этом деле. :( Есть два документа -...

5
119 / 111 / 47
Регистрация: 09.07.2013
Сообщений: 209
15.03.2019, 08:49
Лучший ответ Сообщение было отмечено SergTN как решение

Решение

Сконвертируйте ShippedDate в IIF в строку, например так: CONVERT(nvarchar, ShippedDate, 120).
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
15.03.2019, 11:16
'20100506' - это 112-й стиль в CONVERT(), а не 101-й.
Для строки '20100506' никакого CONVERT(), никакого CAST() не требуется!
Сервер однозначно понимает, какой дате соответствует данная строка, ибо это стандартное строковое представление даты.
0
14 / 11 / 5
Регистрация: 14.03.2019
Сообщений: 43
Записей в блоге: 1
15.03.2019, 18:02
Нельзя туда строку 'Not Shipped' подставлять. В полях все значения должны быть одного типа.
Точнее, можно, но тогда datetime конвертировать в varchar надо.
0
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
15.03.2019, 22:08  [ТС]
Цитата Сообщение от iap Посмотреть сообщение
Для строки '20100506' никакого CONVERT(), никакого CAST() не требуется!
у меня по заданию надо использовать "Write International Transact-SQL Statements"

Добавлено через 3 минуты
Цитата Сообщение от Serpentariy Посмотреть сообщение
Сконвертируйте ShippedDate в IIF в строку, например так: CONVERT(nvarchar, ShippedDate, 120).
Так заработало!
А это особенность именно MS SQL, что нельзя использовать в одном выражении IIF разные данные? В MySQL вроде можно без всяких приведений типов обойтись
0
14 / 11 / 5
Регистрация: 14.03.2019
Сообщений: 43
Записей в блоге: 1
18.03.2019, 09:47
Цитата Сообщение от SergTN Посмотреть сообщение
А это особенность именно MS SQL, что нельзя использовать в одном выражении IIF разные данные? В MySQL вроде можно без всяких приведений типов обойтись
Не в Iif дело, а в поле. Тип datetime и varchar - разные. А их пытаются в один столбец затолкнуть...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.03.2019, 09:47
Помогаю со студенческими работами здесь

Как Подставить Поле Inetfrom В Отправляемое Письмо
Есть задача, в которой пользователи создают письма в одной из БД на основании документа. Сами письма создаются в другой общей почтовой...

Switch или iif-else-if. Как исправить ошибку
Не компилируется код. Говорит, что пропуск инициализации. Но мне нужно создать объекты определённого класса по выбору пользователя. Можно...

Как автоматом подставить последнюю запись в поле со списком
Добрый день. Имеется форма1 для добавления нового клиента, которая запускается из другой формы2. Суть следующая: Я открываю форму2 и если у...

WHERE IN или как найти одно значение в поле
Отсылаю через аякс переменные в файл обработчик, там их обрабатываю и делаю запрос к бд $author_id = @intval($_GET); $genre_id =...

Как подставить значение переменной var1 чтобы читалось его значение
Подскажите, не могу понять как подставить значение переменной var1 чтобы читалось его значение : dim T1$ Dim var1 As Integer Dim var2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru