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

Формат даты в ms sql server

30.06.2017, 10:04. Показов 9513. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста на одном сервере запрос:
SQL
1
UPDATE mgsk.dbo.SensorPlaces SET instDate ='2017-06-30' WHERE sensorPlaceID = '12'
Обновляет дату в определенном поле.

А на другом сервере такой же запрос вызывает ошибку:
Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона.

Я так понимаю ему не нравится формат даты вида "2017-06-30" и ему нужно "2017/30/06" , но писать программу для каждого из серверов неудобно, возможно ли как-то сменить формат представления даты на сервере?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.06.2017, 10:04
Ответы с готовыми решениями:

Формат даты ms sql server
Здравствуйте ребята . Мне интересно как изменить формат даты на MS SQL сервере ? Мне надо что при выбору таблицу , поля дата...

Изменить формат даты sql express 2014
Приветствую. Когда пишу insertы на боевых серваках формат даты "yyyy-mm-dd", а когда пишу на тестовый приходиться выставлять...

Формат даты в MS SQL 7.0
А есть ли способ 'навечно' поменять в сервере формат даты (DATEFORMAT) на dmy? Ведь SET DATEFORMAT, как следует их его описания работает...

8
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
30.06.2017, 10:27
Чтобы не возникало подобных проблем, дату нужно указывать в каком-либо независимом от настроек формате.
Например - '20170630'
0
1 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 129
30.06.2017, 10:40  [ТС]
К сожалению такой формат автоматизированно не получится собрать т.к. например июнь получится просто 6, а не 06, и в итоге получится '2017630', что при запросе дает ошибку:
Conversion failed when converting date and/or time from character string.
Есть ли ещё какие то универсальные форматы даты?
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
30.06.2017, 11:16
Цитата Сообщение от inetcoyote Посмотреть сообщение
К сожалению такой формат автоматизированно не получится собрать т.к. например июнь получится просто 6, а не 06
А в виде '2017-06-30' получилось? И в чем тогда разница?
Цитата Сообщение от inetcoyote Посмотреть сообщение
Есть ли ещё какие то универсальные форматы даты?
'2017-06-30T00:00:00'
{d '2017-06-30'}
'2017-06-30' - если тип столбца(переменной) date или datetime2
0
1 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 129
30.06.2017, 11:27  [ТС]
автоматизированно получилось "2017-6-30" и такой формат 1 сервер принял, а другой требует "2017/6/30" поэтому и думал где найти универсальный.
действительно формат столбца datatime2 на обоих серверах, но 1 сервер принимает только через "2017-6-30", а другой "2017/6/30"
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
30.06.2017, 12:42
Цитата Сообщение от inetcoyote Посмотреть сообщение
1 сервер принимает только через "2017-6-30", а другой "2017/6/30"
Дата - это NLS-зависимая вещь. Поэтому она воспринимается в зависимости от настроек сервера и отдельной сессии.
А писать программы, которые зависят от настроек - это дурной тон. В Oracle есть функция to_date, которая позволяет явно указать формат, в котором находится тестовый литерал, обозначающий дату. Наверняка в MS SQL есть что-то аналогичное.

NLS - National Language Setting
0
1 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 129
30.06.2017, 12:44  [ТС]
Так я поэтому и спрашивал есть ли какой то универсальный вид даты, чтобы всё равно было какая локализация sql servera стоит
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
30.06.2017, 13:04
Цитата Сообщение от inetcoyote Посмотреть сообщение
Так я поэтому и спрашивал есть ли какой то универсальный вид даты
Вам уже было отвечено.

ЗЫ: Насчет "6" и "06" - Не нужно отождествлять "невозможно" и "не знаю как". Если спросите в подходящей ветке как это сделать - вам помогут.
0
25 / 24 / 7
Регистрация: 22.08.2017
Сообщений: 130
28.08.2017, 17:40
июнь получится просто 6, а не 06, и в итоге получится '2017630'
Где "получится"? И почему "получится"? Как и откуда строку формируете?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.08.2017, 17:40
Помогаю со студенческими работами здесь

Формат даты в MS SQL 7
Есть проблема: MS SQL 7 периодически меняет формат вывода даты с dmy на mdy. Причину отследить не смог. Конструкция типа SetDateFormat...

Формат даты на SQL-сервере
Не могу решить такую проблему. Есть два SQL-сервера. На одном из них при обнавления поля типа smalldatetime из Ассess2000 командой...

Как настроить MS SQL Server, чтобы через Access, можно было редактировать таблицы MS SQL Server?
ВОПРОС: Как настроить MS SQL Server, чтобы через Access, можно было редактировать таблицы MS SQL Server? MS SQL Server...

SQL Server 2012 Management Studio Express не появляется служба SQL Server
Здравствуйте. Установил SQL Server Management Studio Express 2012 , необходимый для работы одной программы конфигурирования устройства. Там...

Можно использовать бд созданную в SQL server 2012 на SQL server 2008?
Можно использовать бд созданную в SQL server 2012 на SQL server 2008? если да,то как ее подключить?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Камера 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, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru