dil: (Default)
dil ([personal profile] dil) wrote2009-01-22 03:46 pm

пятиминутка ненависти

дата в базе данных хранится в виде строки.
в виде ДД/ММ/ГГ.

УБИЛ БЫ

[identity profile] npocmu.livejournal.com 2009-01-22 04:07 pm (UTC)(link)
Ха-ха.

А вот как вам такая запись даты:
10812 1231
(в двух полях smallint)
На человечьем языке означает 31.12.2008

[identity profile] dil.livejournal.com 2009-01-22 04:11 pm (UTC)(link)
первую половину не понял

но это хотя бы можно легко сортировать..

[identity profile] npocmu.livejournal.com 2009-01-23 11:02 am (UTC)(link)
108 это 2008 минус 1900.
1900 это как начальная точка отсчёта.

Сортировать можно - это хорошо, конечно. Но можно и ввести что-нибудь типа 10812 1130 и долго гадать над полученным результатом, ибо где-то используется только первое число, а в другом месте - оба.

[identity profile] dil.livejournal.com 2009-01-23 11:03 am (UTC)(link)
сильно..

[identity profile] dil.livejournal.com 2009-01-22 04:15 pm (UTC)(link)
меня тут порадовали. сказали, что MSSQL - это вообще величайший прогресс. раньше оно вообще в аксессе жило.
но тех уродов, которые при переносе не потрудились это изменить, таки надо убить.

[identity profile] npocmu.livejournal.com 2009-01-23 11:06 am (UTC)(link)
Нечего на аксесс пенять. Там встроенный тип "дата" с незапамятных времен имеется.

[identity profile] dil.livejournal.com 2009-01-23 11:09 am (UTC)(link)
я подозреваю, что переносили из аксесса через текстовые файлы. оно как туда вынеслось в американском формате, так его строкой в MSSQL и засобачили, не задумываясь

[identity profile] npocmu.livejournal.com 2009-01-23 11:19 am (UTC)(link)
Дурдом.

Впрочем с таким подходом и аксесс и мссиквель не в чем не виноваты

[identity profile] dil.livejournal.com 2009-01-23 11:20 am (UTC)(link)
именно. в mssql тоже есть datetime

[identity profile] ivlad.livejournal.com 2009-01-22 04:13 pm (UTC)(link)
написать server-side процедуру, которая будет держать такой view для legacy, а хранить дату в нормальном виде?

[identity profile] dil.livejournal.com 2009-01-22 04:16 pm (UTC)(link)
увы. оно туда ещё и пишется непонятнокакими программами, которые фигктопеределает

[identity profile] ctpeko3a.livejournal.com 2009-01-22 04:33 pm (UTC)(link)
AFAIK, SQLServer поддерживает updatable views (http://msdn.microsoft.com/en-us/library/aa258253(SQL.80).aspx), так что не всё так плохо, как могло бы быть.

[identity profile] smerd-andreyka.livejournal.com 2009-01-22 05:06 pm (UTC)(link)
арабы? :)

[identity profile] dil.livejournal.com 2009-01-22 05:11 pm (UTC)(link)
нет. местные

[identity profile] dotslashmute.livejournal.com 2009-01-22 05:41 pm (UTC)(link)
Э… а выборки и сортировки по этой прелести как делать? Или там строго по соответствию даты тянется?

[identity profile] dil.livejournal.com 2009-01-22 05:42 pm (UTC)(link)
во-о-от!!!

[identity profile] dma.livejournal.com 2009-01-22 06:34 pm (UTC)(link)
да нормальные сортировки.
01/01/01
01/01/02
01/01/03
..
01/01/09
02/01/01
...

Нормально, ящитаю.

[identity profile] dotslashmute.livejournal.com 2009-01-22 06:45 pm (UTC)(link)
Ненатуралы в камментах!

[identity profile] dma.livejournal.com 2009-01-22 06:48 pm (UTC)(link)
Понимаешь ли, в чём дело. Я видел там выше волшебное слово "аксесс".
А в аксессе кагбе сортируй-не сортируй, всё равно получишь то, что клиент у себя там внутри насортировал.

[identity profile] dotslashmute.livejournal.com 2009-01-22 06:52 pm (UTC)(link)
Под аксессом оно было в девичестве. Полагаю, что при переезде под микросиквель код дотачивался рашпилем — почему нельзя было и структуру таблиц доточить?

[identity profile] alexshubert.livejournal.com 2009-01-22 08:31 pm (UTC)(link)
Коллега, вы напрасно оставляете дома топор и наган. :)

[identity profile] dil.livejournal.com 2009-01-22 08:36 pm (UTC)(link)
надо будет заехать в яндекс и одолжить биту, оставленную бацеком :)