Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Некорретный CONVERT / 25 сообщений из 57, страница 1 из 3
22.09.2018, 07:35
    #39706379
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Добрый день!
Имеем простой запрос:
Код: sql
1.
2.
3.
SET LANGUAGE Russian;
SELECT @@LANGUAGE, fio, CONVERT(char(11), bd, 113) As [birthday], pser, pNmr
    FROM Pacient WITH(noLock);



И хитрый ответ:
Код: sql
1.
русский	Иванов  Дмитрий Семёнович	15 Oct 1964	2589	526874




Почему день рождения выведен не по русски?
...
Рейтинг: 0 / 0
22.09.2018, 09:08
    #39706383
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszayПочему день рождения выведен не по русски?

а должен?
...
Рейтинг: 0 / 0
22.09.2018, 09:21
    #39706384
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszayДобрый день!
Имеем простой запрос:
Код: sql
1.
2.
3.
SET LANGUAGE Russian;
SELECT @@LANGUAGE, fio, CONVERT(char(11), bd, 113) As [birthday], pser, pNmr
    FROM Pacient WITH(noLock);




И хитрый ответ:
Код: sql
1.
русский	Иванов  Дмитрий Семёнович	15 Oct 1964	2589	526874





Почему день рождения выведен не по русски?

а bd у вас не строковый?
...
Рейтинг: 0 / 0
22.09.2018, 20:06
    #39706451
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Посетитель,

Нет, у него тип
Код: sql
1.
date
...
Рейтинг: 0 / 0
22.09.2018, 22:20
    #39706465
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Tactical Nuclear PenguinsaszayПочему день рождения выведен не по русски?

а должен?


я так понимаю, должно браться значение из sys.syslanguages

saszay ,
а что вернет запрос
Код: sql
1.
select shortmonths from sys.syslanguages where alias = 'russian'
...
Рейтинг: 0 / 0
22.09.2018, 22:59
    #39706475
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Посетитель,

Код: sql
1.
select shortmonths from sys.syslanguages where alias = 'russian'



Код: sql
1.
янв,фев,мар,апр,май,июн,июл,авг,сен,окт,ноя,дек
...
Рейтинг: 0 / 0
23.09.2018, 11:47
    #39706509
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszayПосетитель,

Нет, у него тип
Код: sql
1.
date

Что вернёт
Код: sql
1.
SELECT CONVERT(VARCHAR,CAST(GETDATE() AS DATE),113);

??
...
Рейтинг: 0 / 0
24.09.2018, 05:40
    #39706750
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
iap,

24 сен 2018
...
Рейтинг: 0 / 0
24.09.2018, 07:49
    #39706754
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszay,

Это всё в одном клиенте происходит?
...
Рейтинг: 0 / 0
24.09.2018, 08:04
    #39706758
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Павел Воронцов,

Конечно...
...
Рейтинг: 0 / 0
24.09.2018, 08:08
    #39706759
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszayПавел Воронцов,

Конечно...

мне кажется, bd у вас совсем не date....
...
Рейтинг: 0 / 0
24.09.2018, 08:13
    #39706760
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Посетитель,
Откуда такие мысли?
Код: sql
1.
2.
3.
4.
5.
6.
DECLARE @Pacient TABLE(
ID   int primary key identity (1, 1),
fio  varchar(128) NOT NULL,
bd   date NOT NULL,
pser smallint,
pNmr int);
...
Рейтинг: 0 / 0
24.09.2018, 08:16
    #39706762
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszayПосетитель,
Откуда такие мысли?
Код: sql
1.
2.
3.
4.
5.
6.
DECLARE @Pacient TABLE(
ID   int primary key identity (1, 1),
fio  varchar(128) NOT NULL,
bd   date NOT NULL,
pser smallint,
pNmr int);



ну это скрипт табличной переменной.
в запросе выше - постоянная таблица
...
Рейтинг: 0 / 0
24.09.2018, 08:18
    #39706763
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Посетитель,

Я сменил таблицу на временную. Не помогло
...
Рейтинг: 0 / 0
24.09.2018, 08:47
    #39706771
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszayПосетитель,

Я сменил таблицу на временную. Не помогло

ну вы же видите, что дату сервер конвертирует корректно.
значит, это
1) какой то глюк сервера,
2) в проблемном случае вы пытаетесь конвертировать НЕ дату.
например, объявили табличную переменную, а селект у вас из постоянной таблицы.
Или смотрите таблицу в одной схеме, а работаете в другой схеме.

я ставлю на 2)

попробуйте, например, добавить в ваш проблемный запрос SQL_VARIANT_PROPERTY(bd,'BaseType')
...
Рейтинг: 0 / 0
24.09.2018, 08:53
    #39706772
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Посетитель,

Код: sql
1.
2.
3.
SELECT fio, bd As [birthday], CONVERT(varchar, bd, 113), SQL_VARIANT_PROPERTY(bd,'BaseType')
    FROM @Pacient
    WHERE ID = @pcID;



Код: sql
1.
Иванов  Дмитрий Семёнович	1964-10-15	15 Oct 1964	date
...
Рейтинг: 0 / 0
24.09.2018, 09:19
    #39706776
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszay,

а select @@VERSION ? И если клиент один, то какой?
...
Рейтинг: 0 / 0
24.09.2018, 09:20
    #39706777
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
только с этой таблицей такое или с любой другой тоже?
когда с табличной переменной пробовали,
все то же самое?
...
Рейтинг: 0 / 0
24.09.2018, 09:21
    #39706779
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Павел Воронцов,

Код: sql
1.
Microsoft SQL Server 2016 (SP2-CU2-GDR) (KB4458621) - 13.0.5201.2 (X64)   Aug 18 2018 07:38:15   Copyright (c) Microsoft Corporation  Standard Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor) 




Microsoft SQL Server Management Studio 14.0.17277.0
Microsoft Analysis Services Client Tools 14.0.1016.262
Компоненты доступа к данным (MDAC) 10.0.17134.1
Microsoft MSXML 3.0 6.0
Microsoft Internet Explorer 9.11.17134.0
Microsoft .NET Framework 4.0.30319.42000
Операционная система 6.3.17134
...
Рейтинг: 0 / 0
24.09.2018, 09:24
    #39706780
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszay,

Код: sql
1.
2.
3.
SELECT fio, bd As [birthday], CONVERT(varchar, bd, 113), SQL_VARIANT_PROPERTY(bd,'BaseType'), @@langid, @@language
FROM @Pacient
WHERE ID = @pcID;

?
...
Рейтинг: 0 / 0
24.09.2018, 09:28
    #39706782
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Yasha123,

При смене базы проблема или усугублялась (пропал весь русский язык) или стала работать корректно.
Интересно: какие настройки базы на это влияют. У всех проверенных баз Язык по умолчанию - Русский?
...
Рейтинг: 0 / 0
24.09.2018, 09:30
    #39706783
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Ennor Tiegael,

Код: sql
1.
Иванов  Дмитрий Семёнович	1964-10-15	15 Oct 1964	date	21	русский
...
Рейтинг: 0 / 0
24.09.2018, 09:38
    #39706784
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
можете сделать тестовую базу с одной только таблицей с датой,
где бы эта проблема присутствовала?
одной строки и одной поля в таблице достаточно.
базу забэкапить и сюда выложить.
что-то мне кажется, если ее на моем восстановить,
проблема уйдет.
...
Рейтинг: 0 / 0
24.09.2018, 09:43
    #39706787
Massa52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
saszay,
Такое впечатление - что год 1964 стремный(<1970). А можете, что нить посвежее > 2000 года показать?
...
Рейтинг: 0 / 0
24.09.2018, 09:46
    #39706789
saszay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорретный CONVERT
Massa52,

Год проверил - не в нём дело
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Некорретный CONVERT / 25 сообщений из 57, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]