كيف يمكننا تقسيم أو فصل قيمة السلسلة والعدد الصحيح لعمود في خادم SQL؟


مرحبًا،

كيف يمكننا تقسيم أو فصل قيمة السلسلة والعدد الصحيح لعمود في خادم SQL؟

قيمة العمود الخاص بي: –

Product Name
"Customized Kreation Wardrobe 1"
"Customized Kreation Wardrobe 2"
"Customized Kreation Wardrobe 3"
"Customized Kreation Wardrobe 4"
"Customized Kreation Wardrobe n"

أريد فصل عدد صحيح عن هذه القيمة وإنشاء عمود مؤقت لعدد صحيح.

يحب:-

ProductName                        Id
Customized Kreation Wardrobe       1
Customized Kreation Wardrobe       2
Customized Kreation Wardrobe       3
Customized Kreation Wardrobe       4
Customized Kreation Wardrobe       n

كيف يمكن أن يكون ممكنا؟

شكرا لك مقدما.
أنكيت أغاروال
مهندس برمجيات

الحل 1

تحقق من الرابط

[^]

ترميز سعيد!
🙂

الحل 2

جرب هذا:

SQL
SELECT
LEFT([product name], LEN([product name]) - CHARINDEX(' ', REVERSE([product name]))) AS productname,
RIGHT([product name], CHARINDEX(' ', REVERSE([product name])) - 1) AS id FROM table1

سيعمل هذا مع أي طول من السلسلة والرقم.

الحل 3

وهذا مجرد نتيجة لإساءة استخدامك أنت أو شخص ما لقاعدة البيانات. يجب أن يكون العمود رقميًا إذا كان في المركز الأول. يجب أن يكون الجزء النصي من بياناتك في عمود منفصل، أو ربما لا تكون هناك حاجة إليه على الإطلاق.

-سا

الحل 4

المشكلة التي تتحدث عنها ليست سوى بعض البيانات الأولية. يمكنك العثور على الحل من الإجابات الأخرى، لكن أقترح عليك تقسيمه بنفسك.

إذا كان هناك عدد n من السجلات، فمن المؤكد أنك قد تختار الخيارات الأخرى ولكن بالنسبة لعدد قليل من البيانات، ابذل الجهود 🙂 سيكون ذلك أكثر ملاءمة.

-KR

الحل 5

أعلن @text varchar(100),@counter int,@char varchar(100),@numeric varchar(100)=”,@string varchar(100)=”
تعيين @ النص = “A1B2C3D4”
تعيين @counter=1
بينما @counter<=len(@text)
يبدأ
تعيين @char = سلسلة فرعية (@text،@counter،1)
إذا كان ISNUMERIC (@char) =1
تعيين @numeric = @numeric+@char
آخر
تعيين @string=@string+@char
اضبط @counter=@counter+1
نهاية

حدد @numeric كأرقام، و @string كأحرف

コメント

タイトルとURLをコピーしました