Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос Update  [new]
noobsaibot
Member

Откуда:
Сообщений: 4
Хотел обновить данные с таблицы 1 столбца т1(тип DATE) с таблицы т2 столбца т2(тип varchar), который имеет формат 01-dd/yy-02/MM.
update Table1
set t1=cast (tDate as date)
from 
(select 
SUBSTRING('20'+ Table2.t2,1,4)+'-'+ 
SUBSTRING(Table2.t2,10,2)+ '-'+ 
SUBSTRING(Table2.t2,7,2) as tDate
FROM 
Table2 left join Table1 
on Table2.ID= Table1.ID 
where 
Table1.RowID='838296A4-8935-4B61-A9D6-24FBB297785F' and 
Table2.CardTypeID = '001F99FD-5BF3-0679-9B6F-455767AF72B5' and 
Table2.t2 LIKE '__-__/__/__-__') as dsad

после выполнения этого запроса у меня в всем значениям столбце Table1.t1 присвоилось одно и тоже значение равное первому значению из столбца t2, таблицы Table2. Что я не так написал?

Сообщение было отредактировано: 9 ноя 17, 17:11
9 ноя 17, 17:07    [20940833]     Ответить | Цитировать Сообщить модератору
 Re: Запрос Update  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
автор
Что я не так написал?


Не указал условия связывания целевой таблицы и той, из которой ты забираешь данные.


Тебе нужен синтаксис вида

UPDATE T SET ...

FROM Table T JOIN Table2 TT ...
9 ноя 17, 17:11    [20940853]     Ответить | Цитировать Сообщить модератору
 Re: Запрос Update  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36970
Модератор: Не плодите топики. Достаточно продолжать в уже существующем: https://www.sql.ru/forum/1276352/ne-mogu-preobrazovat-format-daty
9 ноя 17, 17:14    [20940868]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить