উত্তর:
LEFT(colName, 1)
এটিও করবে। এটা তোলে সমতুল্য SUBSTRING(colName, 1, 1)
।
আমি পছন্দ করি LEFT
, যেহেতু আমি এটি কিছুটা পরিষ্কার পরিচ্ছন্ন দেখতে পেয়েছি তবে সত্যই, কোনও উপায়ই নেই।
LEFT(colName, length)
করে SUBSTRING(colName, 1, length)
। সুতরাং এখানে কোনও অপ্টিমাইজেশন নেই, এটি কেবল একটি পছন্দ।
আমি পছন্দ করি:
SUBSTRING (my_column, 1, 1)
কারণ এটি স্ট্যান্ডার্ড এসকিউএল -২৯ সিনট্যাক্স এবং অতএব আরও বহনযোগ্য।
কঠোরভাবে বলতে গেলে, স্ট্যান্ডার্ড সংস্করণটি হবে
SUBSTRING (my_column FROM 1 FOR 1)
মুল বক্তব্যটি হ'ল এক থেকে অন্যটিতে রূপান্তর করা, অতএব যে কোনও অনুরূপ বিক্রেতার পরিবর্তনে তুচ্ছ।
পিএস এটি সম্প্রতি আমার দিকে ইঙ্গিত করা হয়েছিল যে স্ট্যান্ডার্ড এসকিউএল এর কার্যকারিতা ইচ্ছাকৃতভাবে বিপরীত, পরামিতিগুলির তালিকা রয়েছে যা প্রচলিত কমলবাদী নয়, যাতে এটি স্ট্যান্ডার্ড থেকে সহজেই সনাক্তযোগ্য হয়ে উঠতে পারে!
SELECT SUBSTR(thatColumn, 1, 1) As NewColumn from student
নিম্নলিখিত দ্বারা অর্জন করা সহজ
DECLARE @SomeString NVARCHAR(20) = 'This is some string'
DECLARE @Result NVARCHAR(20)
উভয় ক্ষেত্রেই
SET @Result = SUBSTRING(@SomeString, 2, 3)
SELECT @Result
@Result = his
অথবা
SET @Result = LEFT(@SomeString, 6)
SELECT @Result
@Result = This i
ইনপুট
STRMIDDLENAME
--------------
Aravind Chaterjee
Shivakumar
Robin Van Parsee
SELECT STRMIDDLENAME,
CASE WHEN INSTR(STRMIDDLENAME,' ',1,2) != 0 THEN SUBSTR(STRMIDDLENAME,1,1) || SUBSTR(STRMIDDLENAME,INSTR(STRMIDDLENAME,' ',1,1)+1,1)||
SUBSTR(STRMIDDLENAME,INSTR(STRMIDDLENAME,' ',1,2)+1,1)
WHEN INSTR(STRMIDDLENAME,' ',1,1) != 0 THEN SUBSTR(STRMIDDLENAME,1,1) || SUBSTR(STRMIDDLENAME,INSTR(STRMIDDLENAME,' ',1,1)+1,1)
ELSE SUBSTR(STRMIDDLENAME,1,1)
END AS FIRSTLETTERS
FROM Dual;
OUTPUT
STRMIDDLENAME FIRSTLETTERS
--------- -----------------
Aravind Chaterjee AC
Shivakumar S
Robin Van Parsee RVP