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

Откуда: Россия
Сообщений: 112
Народ, бьюсь тут и не могу понять не подскажите в чем может быть дело:
заранее скажу что колонка [SP13074] datetime

declare @bilo as varchar(max)
declare @bilo1 as varchar(max)

set @bilo=(SELECT top 1 [SP13074]
	FROM [Fland3].[dbo].[SC384]
	order by [SP13074] desc
)
set @bilo1=convert(char(10), @bilo, 104)
select @bilo,@bilo1

в итоге блин не конвертирует дату и все тут, должно получиться типа 22.09.2011, а получается 'Sep 22 201' и хоть ты об стенку ему :( Помогите гуру ;)
22 сен 11, 15:19    [11319832]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
pavlo1c, так вы convert раньше делайте, когда в @bilo присваиваете
22 сен 11, 15:23    [11319862]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
bacalavr
Member

Откуда:
Сообщений: 311
declare @bilo datetime
22 сен 11, 15:34    [11319940]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
pavlo1c
Member

Откуда: Россия
Сообщений: 112
declare @bilo as datetime
declare @bilo1 as varchar(max)
declare @st as int

set @bilo=(SELECT top 1 [SP13074]
	FROM [Fland3].[dbo].[SC384]
	order by [SP13074] desc
)

select @bilo,@bilo1
set @bilo1=convert(datetime, @bilo, 104)
select @bilo,@bilo1

result:
2011-09-22 00:00:00.000 NULL
2011-09-22 00:00:00.000 Sep 22 2011 12:00AM


declare @bilo as varchar(max)

set @bilo=(SELECT top 1 convert(char(10),[SP13074],104)
	FROM [Fland3].[dbo].[SC384]
	order by [SP13074] desc
)

select @bilo

почему то, только так работает не пойму в чем суть разницы :(
23 сен 11, 06:25    [11323060]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
pavlo1c
Member

Откуда: Россия
Сообщений: 112
у нерабочего если изменить на такое то, пашет, но приходится использовать 2 переменные, тогда как во втором случае одной достаточно, или это связанно с тем, что в нерабочем на выходе получался char(10), а ниже для конвертации нужно datetime? и в этом видать моя ошибка?
set @bilo1=convert(char(10), @bilo, 104)
23 сен 11, 06:30    [11323061]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
aleks2
Guest
declare @bilo as datetime
declare @bilo1 as varchar(100)
declare @st as int

set @bilo=getdate()

select @bilo,@bilo1
set @bilo1=convert(varchar, @bilo, 104)
select @bilo,@bilo1
23 сен 11, 09:16    [11323270]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
iljy
Member

Откуда:
Сообщений: 8711
pavlo1c,

declare @d datetime = getdate()
select CONVERT(varchar(max), @d), CONVERT(varchar(max), @d, 104)
23 сен 11, 09:19    [11323287]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
Павло, если внимательно посмотреть то 1ц77 хранит текст вместо даты
23 сен 11, 10:04    [11323598]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
pavlo1c
Member

Откуда: Россия
Сообщений: 112
to SignOff: вы глубоко ошибаетесь! тип даты на реквизитах в 1С в скуле datetime, а вы говорите видимо про формат даты в документах и они мне не нужны ;) Я прежде чем писать конечно тип поля проверил же :)
я уже разобрался и проблема реально была в типах переменных.
23 сен 11, 13:44    [11325798]     Ответить | Цитировать Сообщить модератору
 Re: Запись в таблицу дат  [new]
pavlo1c
Member

Откуда: Россия
Сообщений: 112
всем спасибо!
23 сен 11, 13:45    [11325803]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить