जवाबों:
LEFT(colName, 1)
यह भी करेगा, यह भी। इसके बराबर है SUBSTRING(colName, 1, 1)
।
मुझे पसंद है LEFT
, क्योंकि मुझे यह थोड़ा साफ लगता है, लेकिन वास्तव में, कोई अंतर नहीं है।
LEFT(colName, length)
करता है SUBSTRING(colName, 1, length)
। इसलिए यहां कोई अनुकूलन नहीं है, यह सिर्फ एक प्राथमिकता है।
मैं पसंद करता हूं:
SUBSTRING (my_column, 1, 1)
क्योंकि यह मानक SQL-92 सिंटैक्स है और इसलिए अधिक पोर्टेबल है।
कड़ाई से बोलते हुए, मानक संस्करण होगा
SUBSTRING (my_column FROM 1 FOR 1)
बिंदु, एक से दूसरे में बदलना, इसलिए किसी भी समान विक्रेता भिन्नता के लिए, तुच्छ है।
ps यह केवल हाल ही में मुझे बताया गया था कि मानक एसक्यूएल में फ़ंक्शन जानबूझकर विपरीत होते हैं, जो कि मानक कॉमालिस्ट नहीं होते हैं, ताकि मानक से होने के नाते उन्हें आसानी से पहचाना जा सके।
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