Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL ganti semua NULL

Seperti yang telah dikatakan banyak orang di sini, pendekatan terbaik adalah ISNULL(), namun jika Anda menginginkan cara mudah untuk menghasilkan semua ISNULL() tersebut, gunakan kode berikut:

SELECT 'ISNULL([' + COLUMN_NAME + '], ' + 
  CASE 
    WHEN DATA_TYPE = 'bit' THEN '0'
    WHEN DATA_TYPE = 'int' THEN '0'
    WHEN DATA_TYPE = 'decimal' THEN '0'
    WHEN DATA_TYPE = 'date' THEN '''1/1/1900'''
    WHEN DATA_TYPE = 'datetime' THEN '''1/1/1900'''
    WHEN DATA_TYPE = 'uniqueidentifier' THEN '00000000-0000-0000-0000-000000000000'
    ELSE '''''' -- everything else get's an empty string
  END + ') AS [' + COLUMN_NAME + '],'
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TableName'

Ini akan membuat pekerjaan yang membosankan menjadi jauh lebih mudah, Anda hanya perlu mengedit output untuk memperhitungkan berbagai jenis bidang (int, varchar, tanggal, dll)

Sunting:menghitung berbagai tipe data dengan nilai default..



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memilih catatan terakhir dari tabel dalam SQL?

  2. SQL Server Ketersediaan tinggi:Instal contoh cluster failover SQL Server Bagian 2

  3. Cara mengimpor file DBF di SQL Server

  4. Menyetel Layanan Pelaporan SQL Server

  5. Bagaimana saya bisa menemukan karakter Unicode/non-ASCII di bidang NTEXT di tabel SQL Server 2005?