Bunun için bir açıklama göremiyorum ve daha önce beklendiği gibi çalıştığından eminim.-1 döndürme MySQL döküm 18446744073709551615
SELECT CAST(-1 AS UNSIGNED INTEGER);
Beklenen: 0
Sonuç: 18446744073709551615
şey değişti veya bu MySQL hata olduğunu?
[GÜNCELLEME] Tamam, ben daha önce çalışmak için çıkmıştı neden bir sebep buldum düşünüyorum:? .. Bu neden olduğunu
ŞimdiSELECT CAST(-1.0 AS UNSIGNED INTEGER);
+--------------------------------+
| CAST(-1.0 AS UNSIGNED INTEGER) |
+--------------------------------+
| 0 |
+--------------------------------+
, birisi farkını açıklayabilir misiniz Aslında ben buldum Dokümanlar içinde! ya da işlenen bir kayan nokta değeri ise
, sonuç kayan nokta değerdir ve önceki kural tarafından etkilenmez. docs itibaren
'SELECT CAST (-1.0 UNSIGNED INT olarak);' bir uyarı verir (uyarıların görünmesi için önce 'uyarıları 'çalıştırın):" Hata (Kod 1292): Kesik yanlış DECIMAL değeri:' '". – Lekensteyn
@Lekensteyn: Uyarı, uyarı verildiği için, kılavuzun bu yana biraz kafa karıştırıcı olmasına rağmen, "Bu bağlamda, DECIMAL sütun değerleri kayan nokta değerleri olarak kabul edilir." – Cez