Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

apa arti dari pilih ''-''

Anda minus - dari satu string kosong '' ke yang lain:

Lihat berikut ini:

mysql> select '';
+--+
|  |
+--+
|  |
+--+
1 row in set (0.00 sec)  

mysql> select '3'-'2';
+---------+
| '3'-'2' |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

Tapi peringatan jika itu bukan string angka :

mysql> select 'a'-'b';
+---------+
| 'a'-'b' |
+---------+
|       0 |
+---------+
1 row in set, 2 warnings (0.00 sec)    

Dua peringatan:

mysql> SHOW WARNINGS LIMIT 2
    -> ;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'a' |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'b' |
+---------+------+---------------------------------------+
2 rows in set (0.00 sec)  

Mengapa tidak ada peringatan untuk empty tali?

Dimana tidak ada peringatan untuk string kosong karena (melemparkan sesuatu) 0 lihat di bawah ini:

mysql> SELECT 0 = '';
+--------+
| 0 = '' |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)   

maka dengan melakukan ''-'' Anda melakukan 0 - 0

mysql> SELECT '' - '';
+---------+
| '' - '' |
+---------+
|       0 |
+---------+
1 row in set (0.00 sec)  

Agar lebih jelas saya menambahkan contoh berikut (Saya rasa akan membantu Anda ):
Bagaimana konversi terjadi:

mysql> SELECT '0' = 0
    -> ;
+---------+
| '0' = 0 |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)  

perhatikan konversinya:

mysql> SELECT '' = '0'
    -> ;
+----------+
| '' = '0' |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)  

'' diubah menjadi 0 , '0' diubah menjadi 0 tapi '' tidak sama dengan '0'

mysql> SELECT '1' = 1
    -> ;
+---------+
| '1' = 1 |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

mysql> SELECT '' = 1
    -> ;
+--------+
| '' = 1 |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kegagalan serialisasi:Kebuntuan ditemukan saat mencoba mendapatkan kunci

  2. Bagaimana cara menyimpan karakter non-bahasa Inggris?

  3. Bagaimana mengkonversi IPv6 dari biner untuk penyimpanan di MySQL

  4. Bagaimana cara menyimpan data dalam unicode dalam bahasa hindi

  5. Pencadangan dan pemulihan MySql