సంఖ్యా ఫంక్షన్ల జాబితా

మేము పైన చెప్పినట్లుగా, ఒక నిర్దిష్ట రకం డేటాను నిల్వ చేయడానికి 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 బిట్‌వైస్ OR
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) ఫంక్షన్ కొరకు, విషయాలు కొంచెం క్లిష్టంగా ఉంటాయి. మీకు తెలిసినట్లుగా, కంప్యూటర్ యాదృచ్ఛిక సంఖ్యలను రూపొందించదు. బదులుగా, ఇది సూడో-రాండమ్ నంబర్ సీక్వెన్స్ అని పిలవబడేది. అంటే, ఒక సంఖ్యను చూస్తే, అది యాదృచ్ఛికమా కాదా అనేది స్పష్టంగా తెలియదు, కానీ సంఖ్యల క్రమం ఇప్పటికే యాదృచ్ఛికంగా ఉండవచ్చు. డెవలపర్‌లు యాదృచ్ఛికానికి సమానమైన సంఖ్యల క్రమాన్ని రూపొందించడం ద్వారా దీని ప్రయోజనాన్ని పొందుతారు.

ఈ సందర్భంలో, సీక్వెన్స్ యొక్క ప్రతి కొత్త సంఖ్య ఈ సీక్వెన్స్ యొక్క మునుపటి సంఖ్య ఆధారంగా ఒక గమ్మత్తైన నియమం ప్రకారం రూపొందించబడుతుంది . కాబట్టి, మీరు ఒక నిర్దిష్ట ప్రారంభ సంఖ్యను (విత్తనం అని కూడా పిలుస్తారు) యాదృచ్ఛిక సంఖ్య జనరేషన్ అల్గారిథమ్‌కు పంపితే, ప్రతిసారీ మీరు యాదృచ్ఛిక సంఖ్యల క్రమాన్ని అందుకుంటారు .