Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/75: Рейтинг темы: голосов - 75, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 28.06.2018
Сообщений: 32

"Преобразование типа данных VARCHAR в тип данных smalldatetime привело к выходу значения за пределы диапазона"

16.05.2019, 18:41. Показов 15422. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пытаюсь запросом установить дату но выдает ошибку
SQL
1
2
Сообщение 242, уровень 16, состояние 3, строка 56
Преобразование типа данных VARCHAR в тип данных smalldatetime привело к выходу значения за пределы диапазона.
SQL
1
2
3
4
5
6
7
8
USE [Услуги связи]
INSERT INTO [Услуги клиента]
VALUES
    (1,1,'2000-03-12 12:53:00'),
    (1,1,'2010-07-04 20:43:00'),
    (2,1,'2010-09-23 22:43:00'),
    (4,1,'2013-01-01 12:03:00'),
    (7,1,'2000-03-12 12:43:00')
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2019, 18:41
Ответы с готовыми решениями:

Преобразование типа данных varchar в тип данных smalldatetime привело к выходу значения за пределы диапазона
Здравствуйте. помогите пожалуйста. что может привести к этой ошибке(ошибка в заголовке темы)? DECLARE @counter int, ...

Преобразование типа данных nvarchar в тип данных datetime привело к выходу значения за пределы диапазона
Проблема:При открытии базы данных mssql происходит ошибка :Преобразование типа данных nvarchar в тип данных datetime привело к выходу...

Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона
public Form_List(string a) { str = a; InitializeComponent(); dgDocum.DataSource =...

4
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
16.05.2019, 20:07
Лучший ответ Сообщение было отмечено Donat0 как решение

Решение

Это потому, что 23-го месяца не бывает!
Что вернёт
T-SQL
1
2
SELECT STUFF(STUFF(STUFF('___',F%10,1,'D'),F/100%10,1,'M'),F/10000,1,'Y')
FROM (SELECT CONVERT(CHAR, CAST('1/2/3' AS DATETIME),12)) D(F);
??

Используйте строки с датами-временем в формате 'YYYY-MM-DDThh:mm:ss.nnn'
И всё будет нормально всегда.

Или 'YYYYMMDD hh:mm:ss.nnn'

Хотя, надо учесть, что секунд у типа SMALLDATETIME быть не может.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
16.05.2019, 20:07
Варианты:
T-SQL
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
27
set language russian;
USE [Услуги связи]
INSERT INTO [Услуги клиента]
VALUES
    (1,1,'2000-03-12 12:53:00'),
    (1,1,'2010-07-04 20:43:00'),
    (2,1,'2010-09-23 22:43:00'),
    (4,1,'2013-01-01 12:03:00'),
    (7,1,'2000-03-12 12:43:00')
 
USE [Услуги связи]
INSERT INTO [Услуги клиента]
VALUES
    (1,1,'20000312 12:53:00'),
    (1,1,'20100704 20:43:00'),
    (2,1,'20100923 22:43:00'),
    (4,1,'20130101 12:03:00'),
    (7,1,'20000312 12:43:00')
 
USE [Услуги связи]
INSERT INTO [Услуги клиента]
VALUES
    (1,1,'2000-03-12T12:53:00'),
    (1,1,'2010-07-04T20:43:00'),
    (2,1,'2010-09-23T22:43:00'),
    (4,1,'2013-01-01T12:03:00'),
    (7,1,'2000-03-12T12:43:00')
0
0 / 0 / 0
Регистрация: 28.06.2018
Сообщений: 32
16.05.2019, 21:12  [ТС]
Цитата Сообщение от iap Посмотреть сообщение
Используйте строки с датами-временем в формате 'YYYY-MM-DDThh:mm:ss.nnn'
И всё будет нормально всегда.
смотря на пример на сайте майков считал что формат гггг-мм-дд
SQL
1
2
3
4
5
6
7
8
9
10
11
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';  
DECLARE @DATE DATE = @smalldatetime  
  
SELECT @smalldatetime AS '@smalldatetime', @DATE AS 'date';  
  
--Result  
--@smalldatetime          date  
------------------------- ----------  
--1955-12-13 12:43:00     1955-12-13  
--  
--(1 row(s) affected)
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
17.05.2019, 09:40
Цитата Сообщение от Donat0 Посмотреть сообщение
смотря на пример на сайте майков считал что формат гггг-мм-дд
SQL
1
2
3
4
5
6
7
8
9
10
11
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';  
DECLARE @DATE DATE = @smalldatetime  
  
SELECT @smalldatetime AS '@smalldatetime', @DATE AS 'date';  
  
--Result  
--@smalldatetime          date  
------------------------- ----------  
--1955-12-13 12:43:00     1955-12-13  
--  
--(1 row(s) affected)
Это всё легко самому проверить.

1. Выбрать дату с днём >12
2. Выполнить SET DATEFORMAT mdy;
3. Выполнить SELECT с преобразованием строки, которую вы написали, в SMALLDATETIME.
4. Выполнить SET DATEFORMAT dmy;
5. Выполнить SELECT с преобразованием строки, которую вы написали, в SMALLDATETIME.

На 3-м или 5-м пункте получите сообщение об ошибке.
Это означает, что сервер интерпретирует строку, глядя в свои внутренние настройки.
Форматы, которые я вам посоветовал, интерпретируются всегда одинаково, без зависимости от каких-либо настроек.
Для них вы никаких сообщений не получите.

Для новых типов даты-времени (DATE, DATETIME2 и т.п.) формат 'YYYY-MM-DD' тоже сделали инвариантным.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.05.2019, 09:40
Помогаю со студенческими работами здесь

Ошибка "Преобразование значения типа varchar привело к переполнению столбца типа int" ?
Проблемы с SQL Server Создал таблицу: use LivlagsBar go IF EXISTS (SELECT name FROM sys.objects WHERE name =...

Преобразование данных типа varchar в DATE
Есть три таблицы. create database test; use test; CREATE TABLE `my_t` ( `id` INT(255) UNSIGNED NOT NULL AUTO_INCREMENT...

Ошибка преобразования значения varchar в тип данных int
Доброго времени суток! Есть три простые таблицы в базе Shop: первая - All_buy с данными о товарах: ( tovar_id integer ...

Ошибка преобразования значения varchar в тип данных int
Можете помочь починить или переделать запросы чтобы все работало. Долго парился и вроде настроил а оно все равно не работает Есть...

Ошибка преобразования значения varchar в тип данных int"
Нужно цифру из выбранного ряда в dataGridView1 разделить на 3 и вывести результат в текстбокс sumprtxt выдает ошибку Ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru