to post messages and comments.

Насколько очевидно задним числом оказывается решается задача поиска дырки в последовательности. Надо только отбросить фигню stackoverflow, приглушить императивное мышление и немного подумать.
SELECT
n.*,
INET_NTOA(v1.extip) AS extip,
INET_NTOA(v1.extip+1) AS nextip
FROM
ip4net AS n
JOIN view_vds AS v1
ON (n.net >> (32 — n.cidr) = v1.extip >> (32 — n.cidr) )
LEFT JOIN view_vds AS v2
ON (v2.extip = v1.extip + 1)
WHERE
v2.extip IS NULL
Собственно LEFT JOIN себя же со сдвигом на один

Столкнулся с замечательной вещью. Есть файл UTF-8 without BOM, содержащий букву ó, SQL запрос. Слово "Dirección". Набирается в испанской раскладке как "[o" (без кавычек). Прикол в чем. Есть Oracle, в котором тоже кодировка UTF8 выставлена. NLS_CHARACTERSET, все по феншую.

— Пытаешься выполнить запрос в редакторе запросов. Потом о с ударением отображается как надо.
— Пытаешься выполнить запрос через sqlplus под виндой. Отображается хрень типа ó.
— Пытаешься выполнить запрос через sqlplus под линухом, на котором UTF-8 сконфигурирован — та же хрень.
— Изменяешь в INSERT-запросе 'ó' на 'o', а строчкой ниже делаешь UPDATE с replace на compose( 'ó' || unistr('\0301') ) — на отображение работает, но в рантайме не воспринимается как 50099 char.
— Изменяешь в INSERT-запросе 'ó' на compose( 'ó' || unistr('\0301') ) — всё ок.

Почему так — не разобрался до конца..

SQL

вот объясните мне, кто разбирается.
есть сайт, скопировал его полностью себе: слил файлы, и экспортировал базу через PMA (в дампе написано CHARSET=cp1251 у таблиц, у себя создал новую базу, сравнение указал cp1251_general_ci), импортировал дамп, в итоге на сайте крякозябры :(
а сам сайт — какое-то самописное говно на PHP и ничего про кодировку я не нашел.
что не так делаю?

SQL

еще один странный вопрос по сиквелу,
хочу чтобы select one, two from <таблица> возвращал one, two three, four. Где последние два это константы.
то есть я хочу сделать запрос, где в одной строке идут два поля из таблицы и два поля константы.

SQL

тут нужен совет.
пытаюсь использовать union для объединения разных типов данных.
пример:
DECLARE @LangWild varchar(10) = '%';
SELECT @LangWild union select distinct dbo.v_GS_OPERATING_SYSTEM.OSLanguage0
FROM dbo.v_GS_OPERATING_SYSTEM
where dbo.v_GS_OPERATING_SYSTEM.OSLanguage0 is not null
вобщем, проблема в том, что моя переменная varchar, а запрашиваемое из таблицы поле integer, кажется.
возможно ли это как то все переводить в тестовый вид? что-то не нагуглил(

SQL

я тут занимаюсь непонятной херней, поэтому спрошу следующее.
как мне сделать select <поле> from <таблица>, чтобы первое значение было не из таблицы, а мое, мной определенное?

Приезжали, впаривали 2016. Обещали без маркетингового булшита, но за три часа я как раза три раза и уснул. Может быть асинхронную репликацию в группе доступности куда и прикрутим (и то не в продакшен, а для цели разработки) а остальное и применять без надобности

Надо читать документацию до конца (хотя бы статьи). last_value() совсем не последнее, а если последнее, то не в той выборке, а если и в той, то всё равно не то значение. OVER ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ཨོཾ་མ་ཎི་པ་དྨེ་ཧཱུྃ།

SQL ?

А есть какая-нибудь разница между запятой и CROSS JOIN в FROM части запроса?
SELECT * FROM t1, t2
и
SELECT * FROM t1 CROSS JOIN t2
возвращают одно и то же, но может есть кейсы, когда результат будет разный?

Если надо, чтобы в поле было несколько значений, и делать выборку по значению одного из них, то какой тип лучше использовать и как выбирать? Это же массивы по идее? Или ещё что есть?
Пример: есть запись с ['US', 'GB', 'AU'], и мне надо, чтобы эта запись выдавалась по запросу с любым из перечисленных значений.

В России заработал реестр отечественного ПО
Определённый интерес представляет включение в реестр СУБД «Ред база данных». Дело в том, что это продукт, основанный на open source проекте Firebird. Но с блек-джеком и сертификатом ФСТЭК. При этом на сайте разработчика перечислен внушительный список федеральных министерств в качестве заказчиков.
Интересно, как теперь будут обстоят дела с закупками MS SQL, ведь в реестре есть аналог.

О боже! Какое же дерьмище этот Entity Framework! Ошибка на ошибке, сплошные исключения. Проще самому написать все логику работу с бд, чем заставить это говно пахать должным образом.

SQL defines two primary character types: character varying(n) and character(n), where n is a positive integer. Both of these types can store strings up to n characters (not bytes) in length. An attempt to store a longer string into a column of these types will result in an error, unless the excess characters are all spaces, in which case the string will be truncated to the maximum length. (This somewhat bizarre exception is required by the SQL standard.)

А зачем бы программисты использовали views? Мне кажется это что-то из sql для бухгалтеров, где нужны лаконичные end-user функции. Но раз уж мы хардкодим наши запросы, по явно развернуть лишний select — не такой уж и большой труд.

Познакомился вплотную с Sybase. Который SAP.
Узнал, что Sybase AnyWhere 16 ODBC драйвер не годится для ASE 15.
Узнал, что для получения драйвера ODBC под ASE 15 нужно пройти 6 кругов ада и даже пришлось позвонить в SAP support, чтобы стать вежливо посланным.
Узнал, что хромиум прибивает инсталлятор триальной версии СУБД, т.к. считает его (инсталлятор) ненадёжным вредоносным файлом.
Узнал, что JDBC + jTDS — это очень и очень медленно.

Через 8 часов боли получен был дистрибутив, содержащий нужный ODBC, и собственно сам драйвер. Теперь дело за малым: его заюзать. Если пойдёт — замер сделать. Насколько шустро балково выгрузится всё, что нужно. Ну и DBI::Sybase попробовать (Perl)? А как ещё у нативного jConnect + JDBC дела обстоят? Побыстрее, чем у бажной поделки jTDS?

Ну и самое главное: у Haskell есть что-нибудь для коннекта к Sybase, кроме hdbc-odbc?

Вот есть у меня необходимость генерировать запросы к базе данных. Имею на руках схему в виде csv, в которой имена таблиц, полей, связи и прочая. Схема каждый пуск программы может быть разная. Например в haskell-relational-record <github.com> для того, чтобы генерировать код, надо определить таблицы через TH как типы, в esqueleto что-то подобное. TH собирает типы во время компиляции. Либо я что-то где-то недочитал, либо нет возможности генерировать sql типобезопасно, если не знать всю схему БД во время компиляции. А следовательно надо писать нетипобезопасный генератор sql и самому. Скажите мне, пожалуйста, что я неправ, и не туда копаю.

Прикольно, для yesod есть целых два "пагинатора": тыц hackage.haskell.org и тыц hackage.haskell.org

Но это всё не то, когда речь заходит о рекурсивных запросах (CTE), которые тянут по JOIN по несколько сотен тысяч записей. Чувствую, быть ещё одному. Да, yesod-persistent и esqueleto мимо по той же причине. Запрос в итоге генерирую руками, поскольку планы запросов на первом месте: lpaste.net

SQL

сегодня сам решил вчерашнюю задачку, оказалось все не так и сложно. Хочу вот внизу таблицы добавить строчку с итогом , но для этого надо создавать представление и потом его суммировать ,какая-то лажа