Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Некорретный CONVERT  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2382
Блог
saszay,

Продолжая бить в бубен
declare @bd date
select @bd = bd 
    from @Pacient
    WHERE ID = @pcID;
select CONVERT(varchar, @bd, 113)
24 сен 18, 09:49    [21683569]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
пока не будет вменяемого репро,
разговор ни о чем.
---
моя версия: у ТС кривая винда.
поэтому никто другой воспроизвести не может.
я помню похожую проблему у одного товарища,
через тимвьюер вместе смотрели,
так у него руками были поменяны виндовые NLS-файлы
24 сен 18, 09:51    [21683571]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
saszay,

какое значение
SELECT TOP 1 bd FROM Pacient 
24 сен 18, 09:52    [21683572]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
Павел Воронцов,
15 Oct 1964
24 сен 18, 09:54    [21683574]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
TaPaK,

1958-11-23
24 сен 18, 09:55    [21683575]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
saszay,

SELECT CONVERT(varchar,CAST('1958-11-23' as date),113)
24 сен 18, 09:56    [21683577]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
TaPaK,

23 Nov 1958
24 сен 18, 11:00    [21683642]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
saszay
TaPaK,

23 Nov 1958

это вместе с SET LANGUAGE Russian; что ли?
24 сен 18, 11:04    [21683645]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
TaPaK,

Да
24 сен 18, 11:06    [21683652]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
saszay
TaPaK,

Да


SET DATEFORMAT ymd; 
SELECT CONVERT(varchar,CAST('1958-11-12' as date),113)
24 сен 18, 11:10    [21683661]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
saszay,
репро будете выкладывать в виде бэкапа базы
с таблицей, в которой воспроизводится?
если нет, так и скажите,
ибо делать тогда больше нечего в этом топике
24 сен 18, 11:10    [21683662]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
Yasha123,

Backup базы
24 сен 18, 11:24    [21683687]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
и какая таблица демонстрирует проблему?
код из первого поста не парсится,
если же таблица patients и поле birthday,
то во-первых, оно не date, а smalldatetime.
во-вторых, с ним все ок.
у вас именно на этой таблице лезет инглиш?

К сообщению приложен файл. Размер - 44Kb
24 сен 18, 11:46    [21683719]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
Yasha123,

DECLARE @Pacient TABLE(
ID   int primary key identity (1, 1),
fio  varchar(128) NOT NULL,
bd   date NOT NULL,
pser smallint,
pNmr int);

INSERT INTO @Pacient (fio, bd, pser, pNmr)
             VALUES ('Сидоров Иван Пертрович',        '1958-11-23', 4589, 365895),
                    ('Иванов  Дмитрий Семёнович',     '1964-10-15', 2589, 526874),
                    ('Петров Александр Владимирович', '1978-05-07', 3465, 896547),
                    ('Азаров Дмитрий Анатольевич',    '1975-09-08', 4589, 365895),
                    ('Климкин Павел Валерьевич',      '1981-12-03', 4215, 658974);

DECLARE @pcID int = 2;
SELECT fio, bd As [birthday], CONVERT(varchar, bd, 113), SQL_VARIANT_PROPERTY(bd,'BaseType'), @@langid, @@language, pser, pNmr
    FROM @Pacient
    WHERE ID = @pcID;
24 сен 18, 11:48    [21683727]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
saszay
Yasha123,

DECLARE @Pacient TABLE(
ID   int primary key identity (1, 1),
fio  varchar(128) NOT NULL,
bd   date NOT NULL,
pser smallint,
pNmr int);

INSERT INTO @Pacient (fio, bd, pser, pNmr)
             VALUES ('Сидоров Иван Пертрович',        '1958-11-23', 4589, 365895),
                    ('Иванов  Дмитрий Семёнович',     '1964-10-15', 2589, 526874),
                    ('Петров Александр Владимирович', '1978-05-07', 3465, 896547),
                    ('Азаров Дмитрий Анатольевич',    '1975-09-08', 4589, 365895),
                    ('Климкин Павел Валерьевич',      '1981-12-03', 4215, 658974);

DECLARE @pcID int = 2;
SELECT fio, bd As [birthday], CONVERT(varchar, bd, 113), SQL_VARIANT_PROPERTY(bd,'BaseType'), @@langid, @@language, pser, pNmr
    FROM @Pacient
    WHERE ID = @pcID;

вы на что-то другое отвечаете?
вы прикрепили бэкап проблемной базы, я спрашиваю, в какой таблице проблема?
вы видите, что там нет таблицы Pacient, тогда какая таблица, patients?
раз на другом сервере НЕ воспроизводится,
проблема не в таблице и не в базе, у вас, скорее всего, винда кривая
24 сен 18, 11:56    [21683744]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
Yasha123,

В другой базе нет таких проблем
24 сен 18, 11:59    [21683753]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
saszay
Yasha123,

DECLARE @Pacient TABLE(
ID   int primary key identity (1, 1),
fio  varchar(128) NOT NULL,
bd   date NOT NULL,
pser smallint,
pNmr int);

INSERT INTO @Pacient (fio, bd, pser, pNmr)
             VALUES ('Сидоров Иван Пертрович',        '1958-11-23', 4589, 365895),
                    ('Иванов  Дмитрий Семёнович',     '1964-10-15', 2589, 526874),
                    ('Петров Александр Владимирович', '1978-05-07', 3465, 896547),
                    ('Азаров Дмитрий Анатольевич',    '1975-09-08', 4589, 365895),
                    ('Климкин Павел Валерьевич',      '1981-12-03', 4215, 658974);

DECLARE @pcID int = 2;
SELECT fio, bd As [birthday], CONVERT(varchar, bd, 113), SQL_VARIANT_PROPERTY(bd,'BaseType'), @@langid, @@language, pser, pNmr
    FROM @Pacient
    WHERE ID = @pcID;

так к этому SET LANGUAGE допишите
24 сен 18, 12:01    [21683758]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 450
TaPaK,

Дописан, просто не скопирован при вставке :(
24 сен 18, 12:04    [21683760]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
saszay
TaPaK,

Дописан, просто не скопирован при вставке :(


допишите


SET LANGUAGE Russian; 
SET DATEFORMAT YMD;
24 сен 18, 12:08    [21683764]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
вижу, воспроизвелось.
надо выполнить код с переменной в контексте восстановленной базы

К сообщению приложен файл. Размер - 39Kb
24 сен 18, 12:13    [21683774]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
TaPaK
saszay
TaPaK,

Дописан, просто не скопирован при вставке :(


допишите


SET LANGUAGE Russian; 
SET DATEFORMAT YMD;

ничего не изменилось, лезет инглиш
24 сен 18, 12:14    [21683775]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
какое-то издевательство.
в контексте латинской базы вместо кириллицы в имени месяца в дате идут вопросики,
т.е. он все же пытается вывести на русском,
в контексте же кириллической базы в дате инглиш,
а во всех производных от даты все же русский

К сообщению приложен файл. Размер - 55Kb
24 сен 18, 12:24    [21683792]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
invm
Member

Откуда: Москва
Сообщений: 9122
Уровень совместимости виноват
set language russian;
--alter database rami set compatibility_level = 100;
alter database rami set compatibility_level = 130;
go

use rami;
go

declare @t table (bd date);
insert into @t values (getdate());
select bd, convert(char(11), bd, 113), @@language from @t;
go
24 сен 18, 12:28    [21683796]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
CONVERT(nvarchar(20), bd, 113) ?
24 сен 18, 12:29    [21683799]     Ответить | Цитировать Сообщить модератору
 Re: Некорретный CONVERT  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Maxx
CONVERT(nvarchar(20), bd, 113) ?

все то же самое
24 сен 18, 12:36    [21683809]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить