SQL సర్వర్‌లో వేరు చేయబడిన చార్ ద్వారా స్ట్రింగ్‌ను ఎలా విభజించాలి?



సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి

ఈ వ్యాసంలో, వేరు చేయబడిన స్ట్రింగ్ విలువను విభజించడానికి అనేక మార్గాలను చర్చిస్తాము. సహా పలు పద్ధతులను ఉపయోగించి దీనిని సాధించవచ్చు.



  • స్ట్రింగ్‌ను విభజించడానికి STRING_SPLIT ఫంక్షన్‌ను ఉపయోగించండి
  • స్ట్రింగ్‌ను విభజించడానికి వినియోగదారు నిర్వచించిన పట్టిక-విలువైన ఫంక్షన్‌ను సృష్టించండి,
  • స్ట్రింగ్ విలువను విభజించడానికి మరియు వేరు చేయబడిన స్ట్రింగ్‌ను XML గా మార్చడానికి X క్వెరీని ఉపయోగించండి

అన్నింటిలో మొదటిది, మేము ఒక పట్టికను సృష్టించి, దానిలో డేటాను చొప్పించాలి, ఇది మూడు పద్ధతుల్లోనూ ఉపయోగించబడుతుంది. పట్టికలో ఫీల్డ్ ఐడి మరియు స్ట్రింగ్‌లోని డీలిమిటర్ అక్షరాలతో ఒకే వరుస ఉండాలి. కింది కోడ్‌ను ఉపయోగించి “విద్యార్థి” అనే పట్టికను సృష్టించండి.



టేబుల్ విద్యార్థిని సృష్టించండి (ID INT IDENTITY (1, 1), విద్యార్థి_పేరు VARCHAR (MAX))

కింది కోడ్‌ను అమలు చేయడం ద్వారా ఒకే వరుసలో కామాలతో వేరు చేయబడిన విద్యార్థుల పేర్లను చొప్పించండి.



విద్యార్థి (విద్యార్థి_పేరు) విలువలను చొప్పించండి ('మన్రాయ్, మోంటానెజ్, మరోలహాకిస్, నెగ్లీ, ఆల్బ్రైట్, గారోఫోలో, పెరీరా, జాన్సన్, వాగ్నెర్, కాన్రాడ్'

పట్టిక సృష్టి మరియు డేటా చొప్పించడం

డేటా పట్టికలోకి చొప్పించబడిందా లేదా క్రింది కోడ్‌ను ఉపయోగించలేదా అని ధృవీకరించండి.

విద్యార్థి నుండి * ఎంచుకోండి

డేటా “విద్యార్థి” పట్టికలో చేర్చబడిందో లేదో ధృవీకరించండి



విధానం 1: స్ట్రింగ్‌ను విభజించడానికి STRING_SPLIT ఫంక్షన్‌ను ఉపయోగించండి

SQL సర్వర్ 2016 లో, “STRING_SPLIT” ఫంక్షన్ ప్రవేశపెట్టబడింది, ఇది అనుకూలత స్థాయి 130 మరియు అంతకంటే ఎక్కువ ఉపయోగించబడుతుంది. మీరు 2016 SQL సర్వర్ సంస్కరణ లేదా అంతకంటే ఎక్కువ ఉపయోగిస్తే మీరు ఈ బిల్డ్-ఇన్ ఫంక్షన్‌ను ఉపయోగించవచ్చు.

ఇంకా “STRING_SPLIT” ఉప-తీగలను వేరు చేసిన స్ట్రింగ్‌ను ఇన్పుట్ చేస్తుంది మరియు డీలిమిటర్ లేదా సెపరేటర్‌గా ఉపయోగించడానికి ఒక అక్షరాన్ని ఇన్‌పుట్ చేస్తుంది. ఫంక్షన్ ఒకే-కాలమ్ పట్టికను అందిస్తుంది, దీని వరుసలు ఉప-తీగలను కలిగి ఉంటాయి. అవుట్పుట్ కాలమ్ పేరు “ విలువ' . ఈ ఫంక్షన్ రెండు పారామితులను పొందుతుంది. మొదటి పరామితి స్ట్రింగ్ మరియు రెండవది డీలిమిటర్ క్యారెక్టర్ లేదా సెపరేటర్, దీని ఆధారంగా మనం స్ట్రింగ్‌ను విభజించాలి. అవుట్పుట్లో ఒకే-కాలమ్ పట్టిక ఉంటుంది, దీనిలో సబ్‌స్ట్రింగ్‌లు ఉంటాయి. ఈ అవుట్పుట్ కాలమ్ పేరు పెట్టబడింది 'విలువ' మేము క్రింద ఉన్న చిత్రంలో చూడవచ్చు. అంతేకాక, ది “STRING SPLIT” ఇన్పుట్ స్ట్రింగ్ NULL అయితే table_valued ఫంక్షన్ ఖాళీ పట్టికను అందిస్తుంది.

డేటాబేస్ యొక్క అనుకూలత స్థాయి:

ప్రతిడేటాబేస్ఉందికనెక్ట్ చేయబడిందితోకుఅనుకూలతస్థాయి.ఇదిప్రారంభిస్తుందిదిడేటాబేస్ప్రవర్తనకుఉండండిఅనుకూలంగావ తోఉందిప్రత్యేకంగాSQLసర్వర్సంస్కరణ: Teluguఅదిపరుగులుపై.

ఇప్పుడు మనం కామాలతో వేరు చేయబడిన స్ట్రింగ్‌ను విభజించడానికి “string_split” ఫంక్షన్‌ను పిలుస్తాము. కానీ అనుకూలత స్థాయి 130 కన్నా తక్కువ కాబట్టి ఈ క్రింది లోపం పెరిగింది. “చెల్లని వస్తువు పేరు‘ SPLIT_STRING '”

డేటాబేస్ యొక్క అనుకూలత స్థాయి 130 కంటే తక్కువగా ఉంటే లోపం తలెత్తుతుంది “చెల్లని ఆబ్జెక్ట్ పేరు స్ప్లిట్_స్ట్రింగ్”

అందువల్ల మనం డేటాబేస్ అనుకూలత స్థాయిని 130 లేదా అంతకంటే ఎక్కువ సెట్ చేయాలి. కాబట్టి డేటాబేస్ యొక్క అనుకూలత స్థాయిని సెట్ చేయడానికి మేము ఈ దశను అనుసరిస్తాము.

  • కింది కోడ్‌ను ఉపయోగించడం ద్వారా డేటాబేస్‌ను “single_user_access_mode” కు సెట్ చేయండి.
ప్రత్యామ్నాయ డేటాబేస్ సెట్ SINGLE_USER
  • రెండవది, కింది కోడ్‌ను ఉపయోగించి డేటాబేస్ యొక్క అనుకూలత స్థాయిని మార్చండి.
ప్రత్యామ్నాయ డేటాబేస్ సెట్ COMPATIBILITY_LEVEL = 130
  • కింది కోడ్‌ను ఉపయోగించి డేటాబేస్ను బహుళ-వినియోగదారు యాక్సెస్ మోడ్‌కు తిరిగి ఉంచండి.
ఇతర డేటాబేస్ సెట్ MULTI_USER
[మాస్టర్] GO ALTER DATABASE [బ్రిడ్జ్_సెంట్రాలిటీ] SING SINGLE_USER ALTER DATABASE [బ్రిడ్జ్_సెంట్రాలిటీ] SET COMPATIBILITY_LEVEL = 130 ALTER DATABASE [Bridge_centrality] SET MULTI_USER GO

అవుట్పుట్ ఇలా ఉంటుంది:

అనుకూలత స్థాయిని 130 కి మార్చండి

అవసరమైన ఫలితాన్ని పొందడానికి ఇప్పుడు ఈ కోడ్‌ను అమలు చేయండి.

D స్ట్రింగ్_వాల్యూ VARCHAR (MAX) ను తొలగించండి; SET @ string_value = 'మన్రాయ్, మోంటానెజ్, మరోలహాకిస్, నెగ్లీ, ఆల్బ్రైట్, గారోఫోలో, పెరీరా, జాన్సన్, వాగ్నెర్, కాన్రాడ్' STRING_SPLIT నుండి ఎంచుకోండి *