Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2008-10-25

like ot not to like

Уж вроде привык, ан нет, опять билли меня удивил. Я даже оценку давать не буду, изложу факты (о, боже, вы опять сказали fuck!).

База данных под управлением MS SQL Server 2000. В базе табличка, в табличке поле типа GUID. Этот тип данных применяется среди прочего при репликации.

При выборке из таблицы, значения этого поля выглядят так:
{57EEFC0A-0CED-4476-9E4D-ADA821DCEBB2}

В табличке надо найти запись, причем этот гуид - ключ и искать надо по нему.
Запрос вроде такого:
select * from earch.viewSearchProjects where
ProjectID = '{57EEFC0A-0CED-4476-9E4D-ADA821DCEBB2}'

находит запись, а такой:
select * from earch.viewSearchProjects where
ProjectID like '{57EEFC0A-0CED-4476-9E4D-ADA821DCEBB2}'

не находит. Уже интересно.
Зато находит такой:
select * from earch.viewSearchProjects where
ProjectID like '57EEFC0A-0CED-4476-9E4D-ADA821DCEBB2'

Убраны фигурные скобки, если не заметили.

С другими типами полей таких странностей не наблюдается, все как положено.
Закрадывается мысль, проверяю:
select * from earch.viewSearchProjects where
ProjectID = '57EEFC0A-0CED-4476-9E4D-ADA821DCEBB2'

работает. И чего-ж ему не работать, когда чистые данные примерно так и выглядят (еще бы минусы убрать и будет самое оно - 128-битное число).

И как это понимать? Как расценивать необходимость убирать часть данных (а эти данные нам вернула база по запросу на выборку) перед использованием значения поля в других запросах? Причем для некоторых типов данных, не для всех.
Или надо так спросить - и как понимать самоуправство СУБД, которая к данным добавляет свои блядские скобочки?

Ну вот, не удержался от оценок.

Ну и как вот жить с такими заморочками? Если у вас поле типа Х, вы должны обработь данные перед любым использованием по алгоритму У, а если... а если ... пля. Прав Лебедев тыщу раз. Когда матерится. Уебаны и есть.

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)