SQL சேவையகத்தில் பிரிக்கப்பட்ட கரி மூலம் ஒரு சரத்தை எவ்வாறு பிரிப்பது?



சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்

இந்த கட்டுரையில், பிரிக்கப்பட்ட சரம் மதிப்பைப் பிரிக்க பல வழிகளைப் பற்றி விவாதிப்போம். உட்பட பல முறைகளைப் பயன்படுத்தி இதை அடைய முடியும்.



  • சரம் பிரிக்க STRING_SPLIT செயல்பாட்டின் பயன்பாடு
  • சரம் பிரிக்க பயனர் வரையறுக்கப்பட்ட அட்டவணை மதிப்புள்ள செயல்பாட்டை உருவாக்கவும்,
  • சரம் மதிப்பைப் பிரிக்க XQuery ஐப் பயன்படுத்தவும் மற்றும் பிரிக்கப்பட்ட சரத்தை XML ஆக மாற்றவும்

முதலாவதாக, நாம் ஒரு அட்டவணையை உருவாக்கி அதில் தரவைச் செருக வேண்டும், அவை மூன்று முறைகளிலும் பயன்படுத்தப்படும். அட்டவணையில் புலம் ஐடி மற்றும் சரம் கொண்ட டிலிமிட்டர் எழுத்துக்கள் கொண்ட ஒற்றை வரிசை இருக்க வேண்டும். பின்வரும் குறியீட்டைப் பயன்படுத்தி “மாணவர்” என்ற அட்டவணையை உருவாக்கவும்.



அட்டவணை மாணவரை உருவாக்கவும் (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சேவையகம்பதிப்புஅதுரன்கள்ஆன்.

இப்போது கமாவால் பிரிக்கப்பட்ட சரத்தை பிரிக்க “string_split” செயல்பாட்டை அழைப்போம். ஆனால் பொருந்தக்கூடிய நிலை 130 க்கும் குறைவாக இருந்தது, எனவே பின்வரும் பிழை எழுப்பப்பட்டது. “தவறான பொருளின் பெயர்‘ SPLIT_STRING '”

தரவுத்தளத்தின் பொருந்தக்கூடிய நிலை 130 ஐ விடக் குறைவாக இருந்தால் பிழை எழுகிறது “தவறான பொருள் பெயர் பிளவு_ஸ்ட்ரிங்”

இதனால் நாம் தரவுத்தள பொருந்தக்கூடிய அளவை 130 அல்லது அதற்கு மேற்பட்டதாக அமைக்க வேண்டும். எனவே தரவுத்தளத்தின் பொருந்தக்கூடிய அளவை அமைக்க இந்த படிகளைப் பின்பற்றுவோம்.

  • முதலில் பின்வரும் குறியீட்டைப் பயன்படுத்தி தரவுத்தளத்தை “single_user_access_mode” க்கு அமைக்கவும்.
மாற்று தரவுத்தளத்தை அமைக்கவும் SINGLE_USER
  • இரண்டாவதாக, பின்வரும் குறியீட்டைப் பயன்படுத்தி தரவுத்தளத்தின் பொருந்தக்கூடிய அளவை மாற்றவும்.
மாற்று தரவுத்தள தொகுப்பு COMPATIBILITY_LEVEL = 130
  • பின்வரும் குறியீட்டைப் பயன்படுத்தி தரவுத்தளத்தை மீண்டும் பல பயனர் அணுகல் பயன்முறையில் வைக்கவும்.
மாற்று தரவுத்தளம் MULTI_USER ஐ அமைக்கவும்
பயன்படுத்தவும் [முதன்மை] GO ALTER DATABASE [Bridge_centrality] SING SLELE_USER ALTER DATABASE [Bridge_centrality] SET COMPATIBILITY_LEVEL = 130 ALTER DATABASE [Bridge_centrality] SET MULTI_USER GO

வெளியீடு இருக்கும்:

பொருந்தக்கூடிய அளவை 130 ஆக மாற்றவும்

இப்போது தேவையான முடிவைப் பெற இந்த குறியீட்டை இயக்கவும்.

@String_value VARCHAR (MAX) ஐ அழிக்கவும்; SET @ string_value = 'மன்ராய், மொன்டானெஸ், மரோலாஹாகிஸ், நெக்லி, ஆல்பிரைட், கரோஃபோலோ, பெரேரா, ஜான்சன், வாக்னர், கான்ராட்' STRING_SPLIT இலிருந்து தேர்ந்தெடுக்கவும் * (stringstring_value,