powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка преобразования даты или времени из символьной строки.
25 сообщений из 32, страница 1 из 2
Ошибка преобразования даты или времени из символьной строки.
    #38174406
marvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выполняю
Код: sql
1.
2.
declare @t table (s_c varchar(50),sdr datetime)
insert into @t (s_c,sdr) select '060207','Feb  2 2013  4:49PM'



на одном сервере все нормально выполняется, а на другом ошибка:
Ошибка преобразования даты или времени из символьной строки.

как сделать чтобы не было ошибки?)
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174409
WarAnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvel,

Язики разные на разных серверах
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174411
WarAnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvelкак сделать чтобы не было ошибки?)

использовать например функцию convert с правильными параметрами.
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174414
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvelкак сделать чтобы не было ошибки?)
Прочитать в хелпе про тип datetime и правила преобразование в него текстовых строк
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174417
marvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarAntmarvel,

Язики разные на разных серверах

а как поменять язык на английский с помощью tsql ?
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174420
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
declare @t table (s_c varchar(50),sdr datetime)
insert into @t (s_c,sdr) select '060207','20130202 16:49:00';

Код: sql
1.
2.
declare @t table (s_c varchar(50),sdr datetime)
insert into @t (s_c,sdr) select '060207','2013-02-02T16:49:00';

Код: sql
1.
2.
declare @t table (s_c varchar(50),sdr datetime)
insert into @t (s_c,sdr) select '060207',CONVERT(DATETIME,'2013-02-02 16:49:00',120);
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174424
WarAnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvelWarAntmarvel,

Язики разные на разных серверах

а как поменять язык на английский с помощью tsql ?

авторset language us_english
select CONVERT(datetime,'Feb 2 2013 4:49PM',100)
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174428
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvelа как поменять язык на английский с помощью tsql ?
Надо писать код, независимый от региональных настроек
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174431
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvelа как поменять язык на английский с помощью tsql ?
Вообще в SQL Server есть два английских языка ;-)
Код: sql
1.
2.
3.
4.
5.
6.
7.
set language us_english
print datepart(weekday, 'Mar 5 2013')
print cast('2013-03-05' as datetime)

set language british
print datepart(weekday, 'Mar 5 2013')
print cast('2013-03-05' as datetime)


Код: plaintext
1.
2.
3.
4.
5.
Changed language setting to us_english.
3
Mar  5 2013 12:00AM
Changed language setting to British.
2
May  3 2013 12:00AM
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174443
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333marvelа как поменять язык на английский с помощью tsql ?
Вообще в SQL Server есть два английских языка ;-)
Код: sql
1.
2.
3.
4.
5.
6.
7.
set language us_english
print datepart(weekday, 'Mar 5 2013')
print cast('2013-03-05' as datetime)

set language british
print datepart(weekday, 'Mar 5 2013')
print cast('2013-03-05' as datetime)


Код: plaintext
1.
2.
3.
4.
5.
Changed language setting to us_english.
3
Mar  5 2013 12:00AM
Changed language setting to British.
2
May  3 2013 12:00AM
us_english - это не английский! Это американский.
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174447
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapus_english - это не английский! Это американский.
Американский английский, если уж совсем точно.
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #38174457
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapus_english - это не английский! Это американский.
А british — это британский! Итого: в SQL Server нет английского языка
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Ошибка преобразования даты или времени из символьной строки.
    #39648313
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени!
Тоже столкнулся с этой же проблемой "Ошибка преобразования даты или времени из символьной строки." Только у меня еще пишет что то типа "старая рассадка"
Как бы корень проблемы я вроде вижу...
... имеем Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
На нем две базы, одна с уровнем совместимости 2000 (80) назовем база 1, другая 2008 (100) назовем база 2 и третья база - тестовая, точная копия базы 1.
В одной из таблиц базы 2 есть триггер на UPDATE, который при помощи инструкции MERGE пытается вставить данные в одну из таблиц базы 1, где есть столбец с типом данных DATETIME. И при попытке вставить getdate() как раз и появляется данная ошибка.
Пробовал я советы из этой темы - не помогло. Но помогло изменить уровень совместимости базы 3 на 2008 (100) и затем пересоздать таблицу.

Честно говоря, прав на изменение уровня совместимости и пересоздания таблицы в базе 1 у меня нет, поэтому обращаюсь за помощью. Что можно еще сделать? Как вставить дату?
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648375
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И_Павел_С, покажите точное сообщение об ошибке.
getDate никак не может возвращать строку и ошибки там быть не должно
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648471
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKotпокажите точное сообщение об ошибке.
getDate никак не может возвращать строку и ошибки там быть не должно
именно так и пишет
Код: sql
1.
2.
Ошибка преобразования даты или времени из символьной строки
Старая рассадка


ну именно Getdate и дает эту ошибку, так как для этого столбца оно по дефолту.
Пробовал вставлять дату фиксированную в разных форматах - не вставляется, если делать это по событию триггера.
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648484
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И_Павел_С,

вот и ищите старую рассадку в своих триггерах.
результат getdate() имеет тип datetime по определению
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648489
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стесняюсь спросить, а что такое "рассадка" применительно к серверу баз данных?
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648495
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap, ставлю на что-то в таком духе
Код: sql
1.
 raiserror ('Старая рассадка',17,1);
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648496
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посетительвот и ищите старую рассадку в своих триггерах.

я вот тоже стесняюсь спросить, что это и где ее искать.
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648499
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И_Павел_С,

а у кого вы стесняетесь спросить-то?
база у вас под рукой, текст ошибки обычно содержит еще и ее источник.
не стесняйтесь, смотрите.
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648503
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И_Павел_С,

2008 же сервер, вроде?

Код: sql
1.
2.
3.
select object_schema_name(sm.object_id), object_name(sm.object_id)
from sys.sql_modules sm
where sm.definition like N'%Старая рассадка%';


Можете еще джойн на sys.all_objects прикрутить, чтобы тип объекта был виден.
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #39648608
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посетитель,
Ennor Tiegael,
проблему нашел.
Оказалось, что дело в каком то триггере. Он там эту старую рассадку давал. Но с триггер уже не я буду смотреть
Спасибо за советы. Они точно пригодятся!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Ошибка преобразования даты или времени из символьной строки.
    #40027442
Giflop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, скажите пожалуйста как можно исправить эту проблему ?


Код: c#
1.
DELETE FROM dbo.Messages WHERE [When] = convert (datetime, 'now -1 day', 105);


__________________________________________
Код: c#
1.
2.
3.
4.
Сообщение 241, уровень 16, состояние 1, строка 1
Ошибка преобразования даты или времени из символьной строки.

Время выполнения: 2020-12-14T16:10:10.9171634+03:00


___________________________________________________

И еще можете пожалуйста подсказать как можно оптимизировать правильно класс в c# в целях удаления из БД сообщений у которых дата днём раньше от нынешней ?

Вот синтаксис класса Program.cs:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
public class Program : DbConfiguration
    {
        public static void Main(string[] args)
        {// строка подключения к БД
            string connStr = "Data Source=DESKTOP-F894S9I\\SQLEXPRESS;Initial Catalog=ChatDB;Integrated Security=True";
            // создаём объект для подключения к БД
            SqlConnection conn = new SqlConnection(connStr);
            // устанавливаем соединение с БД
            conn.Open();
            // запрос
            string sql = "DELETE FROM dbo.Messages WHERE [When] = '2020-12-13 14:46:26.4224923'";
            // объект для выполнения SQL-запроса
            SqlCommand command = new SqlCommand(sql, conn);
            // выполняем запрос и получаем ответ
            string When = command.ExecuteScalar().ToString();
            // закрываем соединение с БД
            conn.Close();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #40027448
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Giflop,

1. используйте dateadd() и getdate()
2. хз, но ставить точное время на выборке - плохая идея. Хорошая - оперировать только с датой
...
Рейтинг: 0 / 0
Ошибка преобразования даты или времени из символьной строки.
    #40027562
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Giflop,

2020-12-14T16:10:10.9171634{пробел}+03:00

формат у Вас неверный, не соответствует ISO.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка преобразования даты или времени из символьной строки.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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