• I wrote a TERRIBLE app

    I wrote a TERRIBLE app

    Yeah, it was a hideous bug-ridden piece of junk, and best thing was … it didn’t really matter. First let me explain what led to my terrible app. Good mate Dom Giles posted this message on our internal Slack channel the other day. “I need to give myself a goal, and I noticed that Cancer Read more

  • Bitten by the leap year?

    Bitten by the leap year?

    Leap years are those things that for the most part go unnoticed, but occasionally in niche circumstances they can bite you when you least expect it. Consider the following example that popped up on an AskTom question recently. I’ll start with a simple requirement: For a user provided date, show me the total sales for Read more

  • Scalar SQL Macros – cherry pick the best features

    Scalar SQL Macros – cherry pick the best features

    On my last Office Hours session, I handled a question from someone comparing Oracle to SQL Server, and they pointed out (paraphrasing) “SQL Server has a ton of date related functions to make dealing with dates or date components easy. How come Oracle doesn’t do that?” That’s probably a fair point, because a quick look Read more

  • One Billion Rows – Gerald’s Challenge

    One Billion Rows – Gerald’s Challenge

    At the start of the year, Twitter become all a flutter when people started posting their results for the 1 billion row challenge. The challenge was thrown out to the community as an exercise in Java processing (because as we know, people love dumping on Java performance) 😀. My Java interest (and skills) are low Read more

  • You can’t partition by time zone, but maybe you can!

    You can’t partition by time zone, but maybe you can!

    The internet heralded a very common evolution in databases. You started with a database that backed a physical store front, or the data was created/entered by human beings who sat in a location near to the data centre because that was governed by the network technology of the time. Even so, you had a lot Read more

  • Quick color coding hack for your terminal

    Quick color coding hack for your terminal

    If you’re a command line dinosaur like me, maybe you’d still like to occasionally step out of the dark ages and have your output in a nice colour. Maybe in the query below, I’d like some highlighting when the hiredate is (say) more recent than 1982. Well, if you are really keen, then you can Read more

  • COUNT(*) versus COUNT(1) – the finale

    COUNT(*) versus COUNT(1) – the finale

    This is surely one of the most debated topics that has existed in SQL forums for the past 30 years., and you’re probably thinking “Surely this one has been done to death! Surely there is nothing more to day” which of course compels me to reference one of my all time favourite movies 😀 Man Read more

  • Storm in a TRUNCATE cup

    Storm in a TRUNCATE cup

    A post on reddit created the usual reddit storm the other day due to its title line: and whenever you make a claim on reddit (even though I think the original poster was actually posing this as a request for clarification), then rest assured there is going to be avalanche of people jumping into the Read more

  • OT: Working with Camtasia

    OT: Working with Camtasia

    This blog post is a slight departure from my normal Oracle content. As some of you know may know, I also host a YouTube channel with over 700  tech videos on the Oracle Database. Our corporate editing tool is Camtasia, and as anyone that edits video knows, no matter how powerful your machine, video editing Read more

  • XMLTYPE on Autonomous

    XMLTYPE on Autonomous

    I had a customer ask me recently why XMLTYPE is disallowed on Autonomous Database. This surprised me, because I had not heard anything along those lines. But they sent me the following test case, where they simply extracted the DDL from their existing on-premises database and could not run it on Autonomous. SQL> create table Read more

  • 2023 – what a year!

    2023 – what a year!

    Well, its been quite a year 😀 As always the highlight for me was face to face events. Like a lot of companies out there, getting approval for travel is tough in this economic climate, so I’m extremely grateful for any opportunity I’ve had to catch up with our community. Good friend Cary Millsap wrote Read more

  • The "ultimate" database FREE edition

    The "ultimate" database FREE edition

    Here is one of my slides from a talk on 23ai where I reference the limits on the free edition of our database. These limits apply to all of our current Express Edition database types, from 18c, 21c and now 23ai. Looking at each of these in turn, it is easiest to start from the Read more