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

Cara Mengganti String jika record NULL di T-SQL

Anda dapat menggunakan COALESCE atau ISNULL . Yang pertama adalah standar dan mengembalikan NOT NULL pertama argumen (atau NULL jika semua argumen adalah NULL )

SELECT COALESCE(micv.value,'Pending') as value

ISNULL dibatasi hanya 2 argumen tetapi lebih efisien di SQL Server jika nilai pertama yang akan diuji mahal untuk dievaluasi (misalnya subquery).

Satu potensi "gotcha" dengan ISNULL yang harus diperhatikan adalah ia mengembalikan tipe data dari parameter pertama jadi jika string yang akan diganti lebih panjang dari yang diizinkan oleh tipe data kolom, Anda akan memerlukan pemeran.

Mis.

CREATE TABLE T(C VARCHAR(3) NULL);

INSERT T VALUES (NULL);

SELECT ISNULL(C,'Unknown')
FROM T

Akan mengembalikan Unk

Tapi ISNULL(CAST(C as VARCHAR(7)),'Unknown') atau COALESCE keduanya akan bekerja seperti yang diinginkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memperkenalkan Platform SaaS Pertama di Dunia untuk Memberikan Diagnostik Mendalam untuk Lingkungan SQL Server Hibrida

  2. SQL Server 2008 - urutkan berdasarkan string dengan angka secara numerik

  3. Cara menemukan kueri paling lambat

  4. Konversi 'datetime2' menjadi 'datetimeoffset' di SQL Server (Contoh T-SQL)

  5. Pencadangan SQL Server 2017 -2