எண் செயல்பாடுகளின் பட்டியல்

நாம் மேலே கூறியது போல், ஒரு குறிப்பிட்ட வகையின் தரவைச் சேமிப்பது DBMSக்கு மட்டும் போதாது, இந்த வகைகளின் தரவுகளில் ஒரு விரிவான அதிவேக செயல்பாடுகளை ஆதரிக்க வேண்டும்.

மேலும், உங்களுக்குத் தெரிந்தபடி, அனைத்து DBMSகளும் பலவிதமான எண் வகைகளையும் செயல்பாடுகளையும் ஆதரிக்கின்றன. இன்று நீங்கள் அவர்களில் மிகவும் பிரபலமானவர்களுடன் பழகுவீர்கள்.

MySQL இல் உள்ள அனைத்து எண் செயல்பாடுகளையும் நிபந்தனையுடன் 5 குழுக்களாகப் பிரிக்கலாம்:

  • எண்கணித செயல்பாடுகள்
  • பிட் செயல்பாடுகள்
  • ரவுண்டிங் செயல்பாடுகள்
  • இயற்கணித செயல்பாடுகள்
  • முக்கோணவியல் செயல்பாடுகள்

ஜாவா மொழிக்கு நன்றி, அவர்களில் பலரை நீங்கள் நன்கு அறிந்திருக்கிறீர்கள், எனவே அவை உங்களுக்கு ஆச்சரியமாக இருக்காது என்று நினைக்கிறேன். ஆனால் வரிசையில் ஆரம்பிக்கலாம்.

அம்சங்களின் முழு பட்டியலையும் இங்கே காணலாம் .

எண்கணித செயல்பாடுகள்

கொள்கையளவில், எதிர்பாராத எதுவும் இல்லை, மற்ற இடங்களில் உள்ள அதே நிலையான செயல்பாடுகள்:

# உதாரணமாக
1 +, -, *, / 2+2*2 கூட்டல், கழித்தல், பெருக்கல், வகுத்தல் (சரியாக இல்லை!)
2 % 13% 5 பிரிவின் எச்சம்
3 MOD 13MOD5 பிரிவின் எச்சம்
4 DIV 13 DIV 5 முழு எண் மூலம் வகுத்தல்

சுவாரஸ்யத்திலிருந்து: இரண்டு முழு எண்களை வகுத்தால், உண்மையான எண்ணைப் பெறுவீர்கள். முழு எண்ணால் வகுக்க, நீங்கள் DIV ஆபரேட்டரைப் பயன்படுத்த வேண்டும்.

மீதமுள்ள பிரிவை முழு எண்ணாகப் பெற விரும்பினால், ஜாவா மொழியில் உள்ளதைப் போல நீங்கள் MOD அல்லது % ஆபரேட்டரைப் பயன்படுத்த வேண்டும். நான் உதாரணங்கள் கொடுக்க மாட்டேன், என்னைப் பொறுத்தவரை எல்லாம் இங்கே தெளிவாக உள்ளது.

பிட் செயல்பாடுகள்

ஜாவாவைப் போலவே SQL இல் உள்ள எண்களிலும் பிட்வைஸ் செயல்பாடுகளைச் செய்யலாம். நுணுக்கங்கள் இருந்தாலும். கிடைக்கக்கூடிய பிட் செயல்பாடுகளின் பட்டியல் கீழே உள்ள அட்டவணையில் வழங்கப்பட்டுள்ளது:

# உதாரணமாக குறிப்பு
1 & 0b1111 & 0b1000 பிட்வைஸ் மற்றும்
2 | 0b1111 | 0b0001 பிட்வைஸ் அல்லது
3 ^ 0b1111^0b1111 பிட் XOR
4 ~ ~0b1111 பிட்வைஸ் தலைகீழ்
5 >> 128 >> ​​5 பிட் ஷிப்ட் ரைட்
6 << 2 << 5 பிட் ஷிப்ட் இடது
7 BIT_COUNT() BIT_COUNT(255) 1 பிட்களின் எண்ணிக்கையை வழங்குகிறது

MySQL பதிப்பு 8.0 க்கு முன், இத்தகைய செயல்பாடுகள் BIGINT தரவு வகையில் மட்டுமே செய்ய முடியும், இது 64 பிட்கள் நீளமானது மற்றும் ஜாவாவின் நீண்ட வகையைப் போன்றது. இருப்பினும், MySQL 8.0 இல் (நாங்கள் பரிசீலித்து வருகிறோம்), கருத்து மாறிவிட்டது. இப்போது இந்த செயல்பாடுகள் சிறப்பு பைனரி வகைகளில் செய்யப்படலாம்:

  • பைனரி
  • வார்பினரி
  • மேலும் BLOB வகைகளிலும் (அவை பைட்டுகளின் வரிசை)

மற்ற அனைத்து வகைகளும் BIGINT வகைக்கு மாற்றப்பட்டு முன்பு போலவே செயல்பாடுகள் செய்யப்படுகின்றன (முதல் 64 பிட்களில் மட்டும்).

ரவுண்டிங் செயல்பாடுகள்

MySQL இல் ரவுண்டிங்கிற்கு உங்களுக்கு மிகவும் பரிச்சயமான செயல்பாடுகள் பயன்படுத்தப்படுகின்றன. அவற்றின் பட்டியல் கீழே உள்ள அட்டவணையில் கொடுக்கப்பட்டுள்ளது:

# உதாரணமாக குறிப்பு
1 CEIL(), CEILING() CEIL (5.1) = 6 ஒரு உண்மையான எண்ணை முழுமைப்படுத்துகிறது
2 தரை() மாடி(5.9) = 5 ஒரு உண்மையான எண்ணைக் குறைக்கிறது
3 சுற்று() சுற்று(4.1) = 4 உண்மையான எண்ணை அருகில் உள்ள முழு எண்ணுடன் முழுமைப்படுத்துகிறது
4 துண்டிக்கவும்() துண்டிக்கவும்(4.123, 2) = 4.12 ஒரு எண்ணை N தசம இடங்களுக்கு துண்டிக்கிறது
5 RAND() 0.61914388706828 0 மற்றும் 1 க்கு இடையில் ஒரு சீரற்ற உண்மையான எண்ணை வழங்குகிறது
6 RAND(N) 0.93845168309142 0 மற்றும் 1 க்கு இடையில் ஒரு சீரற்ற உண்மையான எண்ணை வழங்குகிறது. N என்பது விதை மதிப்பாகப் பயன்படுத்தப்படுகிறது

ஜாவாவில் முதல் தேடலில் இருந்து அனைத்து ரவுண்டிங் செயல்பாடுகளையும் நீங்கள் நன்கு அறிந்திருக்கிறீர்கள். TRUNCATE() மற்றும் RANDOM(N) செயல்பாடுகள் மட்டுமே இங்கு ஆர்வமாக இருக்கும்.

TRUNCATE (எண், அளவு) செயல்பாடு அதன் முதல் அளவுருவாக உண்மையான எண்ணாகவும், அதன் இரண்டாவது அளவுருவாக மீதமுள்ள தசம இடங்களின் எண்ணிக்கையாகவும் இருக்கும். எண்ணானது விரும்பிய எண்ணிக்கையிலான தசம இடங்களுக்குக் குறைக்கப்பட்டது.

RAND(N) செயல்பாட்டைப் பொறுத்தவரை, விஷயங்கள் சற்று சிக்கலானவை. உங்களுக்குத் தெரிந்தபடி, ஒரு கணினி சீரற்ற எண்களை உருவாக்க முடியாது. மாறாக, இது போலி-சீரற்ற எண் வரிசை என்று அழைக்கப்படுவதை உருவாக்குகிறது. அதாவது, ஒரு எண்ணைப் பார்த்தால், அது சீரற்றதா இல்லையா என்பது தெளிவாகத் தெரியவில்லை, ஆனால் எண்களின் வரிசை ஏற்கனவே சீரற்றதாக இருக்கலாம். டெவலப்பர்கள் தற்செயலாக மிகவும் ஒத்த எண்களின் வரிசையை உருவாக்குவதன் மூலம் இதைப் பயன்படுத்திக் கொள்கிறார்கள்.

இந்த வழக்கில், வரிசையின் ஒவ்வொரு புதிய எண்ணும் இந்த வரிசையின் முந்தைய எண்ணின் அடிப்படையில் ஒரு தந்திரமான விதியின்படி உருவாக்கப்படுகிறது . எனவே, நீங்கள் ஒரு குறிப்பிட்ட தொடக்க எண்ணை (விதை என்றும் அழைக்கப்படுகிறது) ரேண்டம் எண் ஜெனரேஷன் அல்காரிதத்திற்கு அனுப்பினால், ஒவ்வொரு முறையும் நீங்கள் சீரற்ற எண்களின் அதே வரிசையைப் பெறுவீர்கள் .