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

Откуда:
Сообщений: 110
Добрый день, друзья.

Подскажите как правильно составить запрос? Есть таблица БД MS SQL. Туда нужно инсертить поля. При соответствующих изменениях переменных внешнего источника. Есть три переменные @title, @leadid и @contactid. Они изначально nvarchar. В таблице поля типа uniqueidentifier.

Как поменять тип nvarchar на uniqueidentifier в моем случае? Система ругается на конвертацию.

insert into [Softkey_MSSQL_RUS].[dbo].[Activity] ([Id],[CreatedOn],[CreatedById]
	,[ModifiedOn],[ModifiedById],[Title],[StartDate]
	,[DueDate],[PriorityId],[AuthorId]
	,[RemindToAuthor],[RemindToAuthorDate],[OwnerId],[RemindToOwner],[RemindToOwnerDate],[TypeId]
	,[ShowInScheduler],[StatusId],[ResultId],[DetailedResult],[TimeZoneId],[AccountId],[ContactId]
	,[DocumentId],[Recepient],[CopyRecepient],[BlindCopyRecepient],[Body],[Notes]
	,[Color],[SendDate],[EmailSendStatusId],[ErrorOnSend],[DurationInMinutes],[DurationInMnutesAndHours],[ActivityCategoryId],[AllowedResult],[CreatedByInvCRM]
	,[MessageTypeId],[Sender],[ProcessListeners],[IsHtmlBody],[HtmlBody],[MailHash]
	,[ProcessElementId],[GlobalActivityID],[UserEmailAddress],[InvoiceId],[LeadId],[OpportunityId],[ProjectId]
	,[OrderId],[FullProjectName],[Usrmeetingplace],[Usrtaskdescription])

	values(newid(), getdate(), '972C45AE-3B22-42E3-8999-B32E13A951F4',
		getdate(), '972C45AE-3B22-42E3-8999-B32E13A951F4', @title, getdate(),
		GETDATE(), 'AB96FA02-7FE6-DF11-971B-001D60E938C6', '972C45AE-3B22-42E3-8999-B32E13A951F4',
		0, null, '1977FDF5-E511-4895-B332-33BDAF65F7CE', 1, null, 'E1831DEC-CFC0-DF11-B00F-001D60E938C6',
		1, '384D4B84-58E6-DF11-971B-001D60E938C6', null, '', null, 'E308B781-3C5B-4ECB-89EF-5C1ED4DA488E', convert(uniqueidentifier,@contactid), --contactid
		null, '', '', '', '', '', 
		'#405f97', null, null, '', '60', '0 ч. 30 мин.', 'E52BD583-7825-E011-8165-00155D043204', '', 0,
		null, '', 0, 0, '', '', 
		null, '', '', null, convert(uniqueidentifier,@leadid), null, null, --leadid
		null, '', '', @title)
18 ноя 15, 09:51    [18433532]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно сконвертировать?  [new]
Gena928
Member

Откуда: Москва
Сообщений: 1139
maksim.yugai,

Попробуйте напрямую:
cast('972C45AE-3B22-42E3-8999-B32E13A951F4' as uniqueidentifier) 
18 ноя 15, 09:57    [18433566]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно сконвертировать?  [new]
Glory
Member

Откуда:
Сообщений: 104751
maksim.yugai
Как поменять тип nvarchar на uniqueidentifier в моем случае? Система ругается на конвертацию.

Надо просто ищначально иметь правильные значения. Тогда все конвертируется

select cast('E52BD583-7825-E011-8165-00155D043204' as uniqueidentifier)
go
select cast('83-7825-E011-8165-00155D043204' as uniqueidentifier)
go
select cast('X52BD583-7825-E011-8165-00155D043204' as uniqueidentifier)
18 ноя 15, 09:58    [18433569]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно сконвертировать?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
maksim.yugai
Система ругается на конвертацию.
Или значения неправильные, или поля перепутаны.
18 ноя 15, 10:31    [18433804]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно сконвертировать?  [new]
maksim.yugai
Member

Откуда:
Сообщений: 110
Всем спасибо. Окассца, переменные были пустые, поэтому эта ошибка выходила.
18 ноя 15, 12:18    [18434635]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить