Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL संख्यात्मक एक्सप्रेशन मूल्यांकन के दौरान ओवरफ्लो को कैसे संभालता है?


जैसा कि हम जानते हैं कि यदि संख्यात्मक एक्सप्रेशन के मूल्यांकन के दौरान ओवरफ्लो होता है तो MySQL एक त्रुटि उत्पन्न करेगा। उदाहरण के लिए, सबसे बड़ा साइन BIGINT 9223372036854775807 है, इसलिए निम्नलिखित एक्सप्रेशन त्रुटि उत्पन्न करेगा:

mysql> Select 9223372036854775807 + 1; 
ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807+1)'

MySQL निम्नलिखित तरीकों से ऐसे ओवरफ्लो को संभाल सकता है:

मान को UNSIGNED में बदलकर

MySQL मानों को अनसाइन्ड में बदलकर इस तरह के ऑपरेशन को सक्षम करता है:

mysql> Select CAST(9223372036854775807 AS UNSIGNED) +1; 
+------------------------------------------+ 
| CAST(9223372036854775807 AS UNSIGNED) +1 | 
+------------------------------------------+ 
| 9223372036854775808                      | 
+------------------------------------------+ 
1 row in set (0.07 sec)

सटीक-मान अंकगणित का उपयोग करके

MySQL पूर्ववर्ती एक्सप्रेशन को संभालने के लिए सटीक-मान अंकगणित का उपयोग कर सकता है। ऐसा इसलिए है क्योंकि ओवरफ्लो ऑपरेंड की रेंज पर निर्भर करता है। उदाहरण के लिए, उपरोक्त गणना DECIMAL मान का उपयोग करके की जा सकती है:

mysql> Select 9223372036854775807.0 + 1; 
+---------------------------+ 
| 9223372036854775807.0 + 1 | 
+---------------------------+ 
| 9223372036854775808.0     | 
+---------------------------+ 
1 row in set (0.01 sec)

  1. Spring Boot से लोकलहोस्ट MySQL कैसे कनेक्ट करें Spring Boot से लोकलहोस्ट MySQL कैसे कनेक्ट करें

    application.properties कॉन्फ़िगरेशन spring.datasource.username=yourMySQLUserName spring.datasource.password=yourMySQLPassword spring.datasource.url=jdbc:mysql://localhost:3306/yourDatabaseName spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver टेस्ट टेबल insert into demo71 values(100,Jo

  1. - पायथन में [\d+] रेगुलर एक्सप्रेशन कैसे काम करता है?

    निम्नलिखित कोड दर्शाता है कि दिए गए स्ट्रिंग पर रेगुलर एक्सप्रेशन [\d+] क्या करता है: [\d+] रेगुलर एक्सप्रेशन एक अंक (0-9) या + कैरेक्टर को संदर्भित करता है। उदाहरण import re result = re.findall(r[\d+], Taran123tula+456) print(result) आउटपुट [1, 2, 3, +, 4, 5, 6]

  1. - रेल्स में जेम्स का प्रबंधन: बंडलर और रूबीजेम्स कैसे एक साथ काम करते हैं

    कुछ हफ्ते पहले, मैंने इस बारे में लिखा था कि रूबीजेम्स रूबी के लोड पथ को कैसे प्रबंधित करता है। लेकिन रेल्स सीधे रूबीजेम्स का उपयोग नहीं करता - यह अपने जेम्स को प्रबंधित करने के लिए बंडलर का उपयोग करता है। यदि आप नहीं जानते कि बंडलर कैसे काम करता है, तो जेम्स रेल्स में कैसे खींचे जाते हैं यह थोड़ा