Chris Slinko Ответов: 1

Msg 156, уровень 15, состояние 1, строка 8 неверный синтаксис рядом с ключевым словом "конвертировать".


У меня есть этот запрос, который не работает. Похоже, ему не нравится преобразование даты и времени. Сообщение об ошибке, которое я получаю, звучит так: "Msg 156, Уровень 15, состояние 1, строка 8
Неправильный синтаксис около ключевого слова 'конвертировать'".Когда я doulble нажмите на ее преобразовать datetime-это выделены. Полный код приведен ниже.

Использование налогоплательщиком
Вставить в [dbo].[VISION_SALEHIST4]
ВЫБЕРИТЕ * ИЗ [TOMSQLVISION].[VISION_2020].[REAL_PROP].[VW_HSALE]
МНК,
PID,
LINE_NUM,
BOOK_PG,
Преобразование(datetime, SALEDATE) в SALEDATE,
SALEPRICE,
СЕРТИФИКАТ,
ИНСТРУМЕНТ,
КВАЛИФИЦИРОВАННЫЙ,
СВОЕ ИМЯ,
CO_OWN_NAME,
АДРЕС1,
АДРЕС2,
ГОРОД,
ГОСУДАРСТВО,
ЗАСТЕЖКА-МОЛНИЯ

Что я уже пробовал:

Я попытался использовать SALEDATE, потому что в исходной таблице, которую он извлекает, данные с даты находятся в нужном мне формате. Я пытался использовать getdate. Я также попытался это кодирование конвертировать(тип varchar(15), конвертировать(типа datetime, SALEDATE), 101), а SALEDATE,

Sandeep Mewara

Запрос, верно?

Вставить в [dbo].[VISION_SALEHIST4]
ВЫБЕРИТЕ * ИЗ [TOMSQLVISION].[VISION_2020].[REAL_PROP].[VW_HSALE]
МНК,

Что вы подразумеваете под MNC и другими именами столбцов, публикующими запрос select следующим образом?

Отредактируйте и обновите точный запрос, который вы используете.

1 Ответов

Рейтинг:
0

CHill60

В запросе CONVERT(datetime, SALEDATE) AS SALEDATE появляется в списке таблицы вы пытаетесь извлечь данные из.

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

USE taxpayer;
INSERT INTO [dbo].[VISION_SALEHIST4]
SELECT  
   MNC,
   PID,
   LINE_NUM,
   BOOK_PG, 
   CONVERT(datetime, SALEDATE) ,
   SALEPRICE,
   CERTIFICATE,
   INSTRUMENT,
   QUALIFIED,
   OWN_NAME,
   CO_OWN_NAME,
   ADDRESS1,
   ADDRESS2,
   CITY,
   STATE,
   ZIP
FROM [TOMSQLVISION].[VISION_2020].[REAL_PROP].[VW_HSALE];
Примечание Я также удалил * - вы не должны использовать*, если вы вставляете столбцы в другую таблицу - если схема исходной таблицы изменится, это нарушит ваш код. Перечислите столбцы явно.

Кстати, я нашел эту проблему очень быстро, потому что по привычке я переформатирую код так, чтобы SELECT, WHERE, FROM, GROUP и т. д. были все на новых строках в столбце 1 (если только они не являются частью подзапроса), и я делаю отступы в своем списке столбцов и предложениях where. Когда я это сделал, то сразу же заметил, что было не так - я хочу сказать, что хорошее форматирование кода иногда может сэкономить ваше время!