41554 blogs · [ { "id": "01a087b5-0bad-7130-8873-63ffabbc96ac", "title": "MariaDB 12 Triggers", "url": "http://ocelot.ca/blog/blog/2025/11/11/mariadb-12-triggers/", "published_at": "2025-11-11T13:51:23+00:00" }, { "id": "01a087b5-0bad-7130-8873-63ffac5f5f6a", "title": "MySQL and MariaDB GPL licence error?", "url": "http://ocelot.ca/blog/blog/2025/09/26/mysql-and-mariadb-gpl-licence-error/", "published_at": "2025-09-26T21:10:58+00:00" }, { "id": "01a087b5-0bad-7130-8873-63ffad27cd9b", "title": "A program to list MySQL or MariaDB default option files", "url": "http://ocelot.ca/blog/blog/2025/08/07/a-program-to-list-mysql-or-mariadb-default-option-files/", "published_at": "2025-08-07T17:03:01+00:00" }, { "id": "01a087b5-0bae-739a-9b23-bfebaed47fb8", "title": "Options for MySQL or MariaDB Connector C libraries", "url": "http://ocelot.ca/blog/blog/2025/07/16/options-for-mysql-or-mariadb-connector-c-libraries/", "published_at": "2025-07-16T23:54:51+00:00" }, { "id": "01a087b5-0bae-739a-9b23-bfebaf57aa91", "title": "MySQL and MariaDB client .so libraries on Linux", "url": "http://ocelot.ca/blog/blog/2025/03/27/mysql-and-mariadb-client-so-libraries-on-linux/", "published_at": "2025-03-27T21:36:03+00:00" }, { "id": "01a087b5-0bae-739a-9b23-bfebafc77f78", "title": "Work around a MariaDB behaviour change", "url": "http://ocelot.ca/blog/blog/2024/10/16/work-around-a-mariadb-behaviour-change/", "published_at": "2024-10-16T18:47:12+00:00" }, { "id": "01a087b5-0bae-739a-9b23-bfebb0c4dc75", "title": "Column Order in SQL Tables", "url": "http://ocelot.ca/blog/blog/2024/08/07/column-order-in-sql-tables/", "published_at": "2024-08-07T21:09:21+00:00" }, { "id": "01a087b5-0bae-739a-9b23-bfebb113d97a", "title": "Short note re Progress and NuSphere", "url": "http://ocelot.ca/blog/blog/2024/04/23/short-note-re-progress-and-nusphere/", "published_at": "2024-04-23T17:45:09+00:00" }, { "id": "01a087b5-0bae-739a-9b23-bfebb1f3e8e8", "title": "Make SHOW as good as SELECT even with InnoDB", "url": "http://ocelot.ca/blog/blog/2024/03/19/make-show-as-good-as-select-even-with-innodb/", "published_at": "2024-03-19T20:28:48+00:00" }, { "id": "01a087b5-0bae-739a-9b23-bfebb2d3713a", "title": "Make SHOW as good as SELECT", "url": "http://ocelot.ca/blog/blog/2024/02/29/make-show-as-good-as-select/", "published_at": "2024-02-29T21:57:27+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70da470bdf", "title": "Packages in MariaDB default mode", "url": "http://ocelot.ca/blog/blog/2024/01/31/packages-in-mariadb-default-mode/", "published_at": "2024-01-31T17:22:54+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70da8e04b0", "title": "Version 2.1", "url": "http://ocelot.ca/blog/blog/2023/09/29/version-2-1/", "published_at": "2023-09-29T23:18:23+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70da91d885", "title": "Charts", "url": "http://ocelot.ca/blog/blog/2023/08/08/charts/", "published_at": "2023-08-08T21:53:19+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70db07e803", "title": "SQL:2023 and how well MySQL and MariaDB comply", "url": "http://ocelot.ca/blog/blog/2023/06/11/sql2023-and-how-well-mysql-and-mariadb-comply/", "published_at": "2023-06-12T02:45:53+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70dbb602a8", "title": "Delimiters in MySQL and MariaDB", "url": "http://ocelot.ca/blog/blog/2023/05/31/delimiters-in-mysql-and-mariadb/", "published_at": "2023-05-31T23:44:25+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70dc3d0d6e", "title": "Draw Database Diagrams", "url": "http://ocelot.ca/blog/blog/2023/03/09/draw-database-diagrams/", "published_at": "2023-03-10T02:04:43+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70dd331516", "title": "Foreign Key Displays", "url": "http://ocelot.ca/blog/blog/2023/01/01/foreign-key-displays/", "published_at": "2023-01-01T23:29:31+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70dd450a3b", "title": "Offset and fetch clauses in MariaDB", "url": "http://ocelot.ca/blog/blog/2022/12/13/offset-and-fetch-clauses-in-mariadb/", "published_at": "2022-12-13T22:13:32+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70ddc90ec3", "title": "Duplicate column names", "url": "http://ocelot.ca/blog/blog/2022/11/27/duplicate-column-names/", "published_at": "2022-11-27T20:39:11+00:00" }, { "id": "01a0bdc8-5dcc-7262-a58b-ab70ddece340", "title": "Data type conversion and SQLSTATE", "url": "http://ocelot.ca/blog/blog/2022/10/21/data-type-conversion-and-sqlstate/", "published_at": "2022-10-21T20:56:03+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d5dd7fdfe", "title": "ocelotgui version 1.7", "url": "http://ocelot.ca/blog/blog/2022/06/09/ocelotgui-version-1-7/", "published_at": "2022-06-09T20:40:11+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d5e905906", "title": "The SQL substring function", "url": "http://ocelot.ca/blog/blog/2021/09/02/the-sql-substring-function/", "published_at": "2021-09-02T19:59:53+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d5eba90e3", "title": "Fancy SQL Result Set Display", "url": "http://ocelot.ca/blog/blog/2021/07/25/fancy-sql-result-set-display/", "published_at": "2021-07-26T00:44:38+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d5f8f24e2", "title": "Reserved words again", "url": "http://ocelot.ca/blog/blog/2021/02/12/reserved-words-again/", "published_at": "2021-02-12T22:44:05+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d608411b5", "title": "Autocompletion with the mysql client", "url": "http://ocelot.ca/blog/blog/2020/11/06/autocompletion-with-the-mysql-client/", "published_at": "2020-11-07T00:32:13+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d61557cfc", "title": "The SQL MOD Function", "url": "http://ocelot.ca/blog/blog/2020/08/04/the-sql-mod-function/", "published_at": "2020-08-04T15:22:13+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d61b52fbc", "title": "Descriptive SQL Style Guide", "url": "http://ocelot.ca/blog/blog/2020/04/30/descriptive-sql-style-guide/", "published_at": "2020-04-30T22:34:59+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d62158e10", "title": "Convert SQL Stored Procedures to Lua Functions", "url": "http://ocelot.ca/blog/blog/2020/01/12/convert-sql-stored-procedures-to-lua-functions/", "published_at": "2020-01-13T02:18:41+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d624728ee", "title": "Date arithmetic with Julian days, BC dates, and Oracle rules", "url": "http://ocelot.ca/blog/blog/2019/01/09/date-arithmetic-with-julian-days-bc-dates-and-oracle-rules/", "published_at": "2019-01-09T19:12:42+00:00" }, { "id": "01a0bdd0-abfc-724f-b989-639d63237b70", "title": "sql_mode", "url": "http://ocelot.ca/blog/blog/2018/09/05/sql_mode/", "published_at": "2018-09-06T01:36:09+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a3869e05e49", "title": "FOR … END FOR", "url": "http://ocelot.ca/blog/blog/2018/04/22/for-end-for/", "published_at": "2018-04-22T21:28:57+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386a2fb2ae", "title": "The simultaneous_assignment mode in MariaDB 10.3.5", "url": "http://ocelot.ca/blog/blog/2018/03/21/the-simultaneous_assignment-mode-in-mariadb-10-3-5/", "published_at": "2018-03-21T18:25:41+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386aa95f93", "title": "The Tarantool SQL Alpha", "url": "http://ocelot.ca/blog/blog/2017/12/14/the-tarantool-sql-alpha/", "published_at": "2017-12-15T00:16:02+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386ad0df98", "title": "Reserved Words", "url": "http://ocelot.ca/blog/blog/2017/11/03/reserved-words/", "published_at": "2017-11-03T21:14:26+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386bc48090", "title": "No more mysql.proc in MySQL 8.0", "url": "http://ocelot.ca/blog/blog/2017/08/22/no-more-mysql-proc-in-mysql-8-0/", "published_at": "2017-08-22T20:00:15+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386c9ff8e0", "title": "The SQL Standard is SQL:2016", "url": "http://ocelot.ca/blog/blog/2017/04/27/the-sql-standard-is-sql2016/", "published_at": "2017-04-27T19:48:14+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386d660ba6", "title": "MySQL, MariaDB, International Components for Unicode", "url": "http://ocelot.ca/blog/blog/2017/04/11/mysql-mariadb-international-components-for-unicode/", "published_at": "2017-04-11T19:49:39+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386dfcda22", "title": "Sequences", "url": "http://ocelot.ca/blog/blog/2017/03/13/sequences/", "published_at": "2017-03-13T22:14:27+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386ed6528d", "title": "PL/SQL in MariaDB", "url": "http://ocelot.ca/blog/blog/2017/01/15/plsql-in-mariadb/", "published_at": "2017-01-16T00:23:33+00:00" }, { "id": "01a0bdd4-7475-717a-b497-6a386f50da66", "title": "Pronouncing Database Terms", "url": "http://ocelot.ca/blog/blog/2016/11/30/pronouncing-database-terms/", "published_at": "2016-12-01T01:19:04+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e64323070b", "title": "The First Development Milestone for MySQL 8.0", "url": "http://ocelot.ca/blog/blog/2016/09/29/the-first-development-milestone-for-mysql-8-0/", "published_at": "2016-09-29T20:07:49+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e643778eae", "title": "Binary Serializers", "url": "http://ocelot.ca/blog/blog/2016/08/23/binary-serializers/", "published_at": "2016-08-24T02:14:00+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e64441db84", "title": "What’s in the SQL of NoSQL", "url": "http://ocelot.ca/blog/blog/2016/07/31/whats-in-the-sql-of-nosql/", "published_at": "2016-08-01T01:33:47+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e644501eef", "title": "SQLite and Standard SQL", "url": "http://ocelot.ca/blog/blog/2016/06/24/sqlite-and-standard-sql/", "published_at": "2016-06-25T01:56:26+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e644694713", "title": "Releasing ocelotgui 1.0.0", "url": "http://ocelot.ca/blog/blog/2016/05/27/638/", "published_at": "2016-05-27T22:06:55+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e645683ae3", "title": "MariaDB 10.2 Window Functions", "url": "http://ocelot.ca/blog/blog/2016/04/18/mariadb-10-2-window-functions/", "published_at": "2016-04-19T03:04:22+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e645b843f4", "title": "Client-Side Predictive Parsing of MySQL/MariaDB Grammar", "url": "http://ocelot.ca/blog/blog/2016/03/20/client-side-predictive-parsing-of-mysqlmariadb-grammar/", "published_at": "2016-03-21T02:35:46+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e6467f7b03", "title": "Comments in SQL Statements", "url": "http://ocelot.ca/blog/blog/2016/02/29/comments-in-sql-statements/", "published_at": "2016-03-01T02:43:57+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e646c6654c", "title": "Privileges in MySQL and MariaDB: The Weed Of Crime Bears Bitter Fruit", "url": "http://ocelot.ca/blog/blog/2016/02/16/privileges-in-mysql-and-mariadb-the-weed-of-crime-bears-bitter-fruit/", "published_at": "2016-02-16T21:30:06+00:00" }, { "id": "01a0bdd7-c8a7-719e-81f0-48e64713d2e7", "title": "Generated columns in MariaDB and MySQL", "url": "http://ocelot.ca/blog/blog/2016/02/04/generated-columns-in-mariadb-and-mysql/", "published_at": "2016-02-05T03:08:33+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d5fddf33", "title": "SQL qualified names", "url": "http://ocelot.ca/blog/blog/2016/01/08/sql-qualified-names/", "published_at": "2016-01-08T20:00:40+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d6d9c366", "title": "Standard SQL/JSON and MySQL 5.7 JSON", "url": "http://ocelot.ca/blog/blog/2015/11/26/standard-sqljson-and-mysql-5-7-json/", "published_at": "2015-11-26T23:17:15+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d72831b8", "title": "Send messages between sessions on MySQL or MariaDB", "url": "http://ocelot.ca/blog/blog/2015/10/09/send-messages-between-sessions-on-mysql-or-mariadb/", "published_at": "2015-10-10T00:02:09+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d741ceae", "title": "MariaDB 10.1 Release Candidate", "url": "http://ocelot.ca/blog/blog/2015/09/20/mariadb-10-1-release-candidate/", "published_at": "2015-09-20T18:24:24+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d7d6c43b", "title": "MYSQL_HISTFILE and .mysql_history", "url": "http://ocelot.ca/blog/blog/2015/08/04/mysql_histfile-and-mysql_history/", "published_at": "2015-08-04T19:52:28+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d8bb6af7", "title": "Connecting to MySQL or MariaDB with sockets on Linux", "url": "http://ocelot.ca/blog/blog/2015/07/19/connecting-to-mysql-or-mariadb-with-sockets-on-linux/", "published_at": "2015-07-19T19:33:09+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d8c99d60", "title": "Decrypt .mylogin.cnf", "url": "http://ocelot.ca/blog/blog/2015/05/21/decrypt-mylogin-cnf/", "published_at": "2015-05-21T19:56:03+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d9519d43", "title": "The ocelotgui debugger", "url": "http://ocelot.ca/blog/blog/2015/03/02/the-ocelotgui-debugger/", "published_at": "2015-03-02T18:17:05+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9d9f8c5ec", "title": "Stored Procedures: critiques and defences", "url": "http://ocelot.ca/blog/blog/2015/01/15/stored-procedures-critiques-and-defences/", "published_at": "2015-01-16T00:14:59+00:00" }, { "id": "01a0bddc-0d7d-707e-90ec-e5e9da02ddcb", "title": "What is a data type?", "url": "http://ocelot.ca/blog/blog/2014/12/23/what-is-a-data-type/", "published_at": "2014-12-24T00:30:07+00:00" }, { "id": "01a0bdde-c8b4-716b-a9a8-ea8637768550", "title": "General Purpose Storage Engines in MariaDB", "url": "http://ocelot.ca/blog/blog/2014/12/06/general-purpose-storage-engines-in-mariadb/", "published_at": "2014-12-07T00:46:40+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38bcd171d", "title": "GET DIAGNOSTICS", "url": "http://ocelot.ca/blog/blog/2014/11/16/get-diagnostics/", "published_at": "2014-11-16T18:36:34+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38c8aa995", "title": "Dynamic compound statements in MariaDB", "url": "http://ocelot.ca/blog/blog/2014/11/09/dynamic-compound-statements-in-mariadb/", "published_at": "2014-11-10T03:52:37+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38d1705f9", "title": "Temporary tables, standard SQL", "url": "http://ocelot.ca/blog/blog/2014/11/02/temporary-tables-standard-sql/", "published_at": "2014-11-02T20:59:35+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38dc8c2a5", "title": "What part of NoSQL don’t you understand?", "url": "http://ocelot.ca/blog/blog/2014/09/19/what-part-of-nosql-dont-you-understand/", "published_at": "2014-09-19T23:23:25+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38ec66253", "title": "An open-source MySQL/MariaDB GUI client on Linux", "url": "http://ocelot.ca/blog/blog/2014/08/19/an-open-source-mysqlmariadb-gui-client-on-linux/", "published_at": "2014-08-19T23:14:20+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38efadb8d", "title": "The BINARY and VARBINARY data types", "url": "http://ocelot.ca/blog/blog/2014/07/13/the-binary-and-varbinary-data-types/", "published_at": "2014-07-14T02:10:02+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38f1d839d", "title": "MySQL 5.7 supports the GB18030 Chinese Character Set", "url": "http://ocelot.ca/blog/blog/2014/04/29/mysql-5-7-supports-the-gb18030-chinese-character-set/", "published_at": "2014-04-29T22:45:05+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd38fc55aa5", "title": "MySQL versus Firebird", "url": "http://ocelot.ca/blog/blog/2014/03/09/354/", "published_at": "2014-03-09T19:01:14+00:00" }, { "id": "01a0bdde-c8b5-73ef-a1d5-5bd39066d2df", "title": "Deprecating MySQL Features", "url": "http://ocelot.ca/blog/blog/2014/03/03/deprecating-mysql-features/", "published_at": "2014-03-03T22:30:51+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9938e6ec", "title": "A glance at a MariaDB release candidate", "url": "http://ocelot.ca/blog/blog/2014/02/23/a-glance-at-a-mariadb-release-candidate/", "published_at": "2014-02-24T01:52:57+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9979c510", "title": "MySQL’s Date Support Is Not Absurd", "url": "http://ocelot.ca/blog/blog/2014/02/16/mysqls-date-support-is-not-absurd/", "published_at": "2014-02-16T22:44:42+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb99fe1668", "title": "MySQL, GROUP BY, Select lists, and Standard SQL", "url": "http://ocelot.ca/blog/blog/2014/01/26/mysql-group-by-select-lists-and-standard-sql/", "published_at": "2014-01-26T20:01:00+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9a3be598", "title": "Roles Review", "url": "http://ocelot.ca/blog/blog/2014/01/12/roles-review/", "published_at": "2014-01-12T22:51:58+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9ae43459", "title": "Mroonga and me and MariaDB", "url": "http://ocelot.ca/blog/blog/2014/01/01/mroonga-and-me-and-mariadb/", "published_at": "2014-01-01T23:31:49+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9bd1ea1b", "title": "The USA’s healthcare.gov site and LAMP", "url": "http://ocelot.ca/blog/blog/2013/12/08/the-usas-healthcare-gov-site-and-lamp/", "published_at": "2013-12-09T01:51:00+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9c2cb92a", "title": "Tuples", "url": "http://ocelot.ca/blog/blog/2013/12/02/tuples/", "published_at": "2013-12-02T17:36:26+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9c9bdf47", "title": "Kleidophobia", "url": "http://ocelot.ca/blog/blog/2013/11/12/kleidophobia/", "published_at": "2013-11-12T18:06:14+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9cf60707", "title": "TokuDB Features", "url": "http://ocelot.ca/blog/blog/2013/11/04/tokudb-features/", "published_at": "2013-11-04T21:51:58+00:00" }, { "id": "01a0bde1-658d-70aa-ab29-35bb9d45a4fc", "title": "The UTF-8 world is not enough", "url": "http://ocelot.ca/blog/blog/2013/10/29/the-utf-8-world-is-not-enough/", "published_at": "2013-10-29T10:55:32+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb55ed2906", "title": "Regular (RLIKE and REGEXP) expressions: Good News", "url": "http://ocelot.ca/blog/blog/2013/10/22/regular-rlike-and-regexp-expressions-good-news/", "published_at": "2013-10-22T19:05:03+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb56ba0c0b", "title": "The Third Most Popular Open Source DBMS", "url": "http://ocelot.ca/blog/blog/2013/10/14/the-third-most-popular-open-source-dbms/", "published_at": "2013-10-14T18:07:13+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb56fe0a7a", "title": "Triggers: Comparisons, New Features, and a Trick", "url": "http://ocelot.ca/blog/blog/2013/10/07/triggers-comparisons-new-features-and-a-trick/", "published_at": "2013-10-07T21:38:35+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb5744d9fb", "title": "Sometimes MySQL is more standards-compliant than PostgreSQL", "url": "http://ocelot.ca/blog/blog/2013/09/30/sometimes-mysql-is-more-standards-compliant-than-postgresql/", "published_at": "2013-09-30T19:03:31+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb57c3b8ad", "title": "How to pronounce SQL", "url": "http://ocelot.ca/blog/blog/2013/09/23/how-to-pronounce-sql/", "published_at": "2013-09-23T16:42:58+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb582fa208", "title": "Representing Sex In Databases", "url": "http://ocelot.ca/blog/blog/2013/09/16/representing-sex-in-databases/", "published_at": "2013-09-16T21:54:45+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb586341ff", "title": "NULL and UNIQUE", "url": "http://ocelot.ca/blog/blog/2013/09/11/null-and-unique/", "published_at": "2013-09-11T20:03:17+00:00" }, { "id": "01a0bde3-ca88-7061-ae77-b2cb590af123", "title": "Back From Blogging Break", "url": "http://ocelot.ca/blog/blog/2013/09/06/hello-world/", "published_at": "2013-09-06T16:16:46+00:00" } ] posts Claim your blog
Back to ocelot.ca
Blog · corpus.blog/blogs/ocelot.ca/posts

ocelot.ca

ocelot.ca

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013