PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mengapa null||null mengembalikan nilai nol tetapi concat(null,null) mengembalikan string kosong di postgres?

dalam fungsi concat():

text concat(str "any",...)  Concatenate all arguments. NULL arguments are ignored.

Catatan:Argumen NULL diabaikan.

Bayangkan ini:

Argumen masukan concat() dinamis.

Jadi ketika kita menulis:concat('a',null,null,null,null) => kami telah menulis:concat('a')

(Berbeda dengan || operator yang NULL menghancurkan segalanya)

di || operator:

Jadi NULL||NULL memiliki sintaks yang salah

Tapi kenapa tidak memberikan Error? Karena dalam operasi concat, jika kita tidak menolak NULL (Seperti fungsi concat), mereka akan membanjiri semuanya

SELECT NULL ||'aaa'||'bbb'||'ccc'||'ddd'

keluaran:

NULL

info selengkapnya :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rel memperluas bidang dengan ruang lingkup, PG tidak menyukainya

  2. Tingkatkan Rentang ID ActiveModel menjadi 8 byte

  3. Amazon Aurora PostgreSQL PILIH KE OUTFILE S3

  4. Bagaimana melakukan kueri ActiveRecord grup ini di postgres

  5. node-postgres $1 IS NULL kesalahan