sql >> Databáze >  >> RDS >> Mysql

Jak vybrat NULL, pokud neexistují žádná data, a zobrazit data, pokud existují?

Pokud je tabulka prázdná (0 řádků), výsledek dotazu =null je normálně.

A pokud chcete zobrazit data řádku, když existuje ID řádku x, měli byste vybrat sloupec, nikoli select NULL AS column , protože pokud existují data řádku, všechny hodnoty sloupců jsou navždy null.

Takže změňte kód na SQL, nevybírejte null, a když je výsledek dotazu prázdný, vraťte výchozí sady, například takto:

function get_data( $id )
{
    $query = "SELECT
            DATE_FORMAT(curdate(),'%d/%m-%Y') AS date_created,
            `name`,
            `address`,
            `status`
        FROM `t_penomoran`
        WHERE `nomor` = '{$id}'";

    $result = $this->db->query($query)->row();

    if ( empty($result) ) {
        $result = (object)[
            'date_created' => date('d/m-Y'),
            'name' => null,
            'address' => null,
            'status' => null,
        ];
    }

    return $result;
}


  1. PostgreSQL DATEADD() Ekvivalent

  2. Jak získat rok a měsíc z data v MySQL

  3. Jak zkontrolovat úroveň kompatibility databáze v SQL Server pomocí T-SQL

  4. Pole data a času v MySQL a letní čas – jak mohu odkazovat na hodinu navíc?