Какие строковые форматы гарантированно всегда работают в sql server?

Какие строковые форматы гарантированный всегда работают в SQL Server, независимо от каких-либо настроек?

Раньше я полагал, что единственный такой формат - это '2018-09-13T14: 41: 07.123', всегда с датой и временем, всегда с разделителем T в верхнем регистре, всегда с 3 знаками после запятой.

Поэтому, если я хочу пропустить только свидание, мне придется использовать «2018-09-13T00: 00: 00.000».

Я считал, что тот же формат, но с пробелом вместо T, гарантированно работает только при использовании OLE или ODBC.

Теперь, когда я просматриваю документацию на предмет новых типов даты / времени, datetime2, datetimeoffset, я запутываюсь. В документации потребуется буква «T», а затем на одном дыхании вместо этого будет показан пример с пробелом.

Меня интересуют не только форматы, которые работают, или всегда работают, или всегда работали, ... Я специально прошу, чтобы форматы, которые являются гарантированный, работали в соответствии с документацией Microsoft.

Мне нужен результат для работы в SQL Server 2008, но мне было бы интересно узнать, есть ли в новых версиях новые гарантированные форматы.

Документация Microsoft хороша и все такое, но этот ответ лучше.

Jeroen Mostert 13.09.2018 19:53

Есть только четыре гарантированных формата, но я не думаю, что вы когда-нибудь получите такие исчерпывающие заявления от Microsoft. yyyy-mm-dd только для типа данных date. Для всех типов даты и времени только yyyymmdd, yyyymmdd hh:mm... и yyyy-mm-ddThh:mm... не будут неправильно истолкованы из-за региональных настроек, языка или настроек формата даты. Если вы видите в документации образцы кода в любом другом формате, предполагайте небрежность, а не намерение.

Aaron Bertrand 13.09.2018 20:00

«Я специально прошу форматы, которые гарантированно работают в соответствии с документацией Microsoft». ... потому что вы думаете, что у нас есть доступ к документации, которой нет у вас?

Tab Alleman 13.09.2018 20:00
0
3
48
0

Другие вопросы по теме