IT story

SQL에서 문자열의 첫 문자를 얻는 방법은 무엇입니까?

hot-time 2020. 4. 25. 09:57
반응형

SQL에서 문자열의 첫 문자를 얻는 방법은 무엇입니까?


길이가 6 인 SQL 열이 있습니다. 이제 해당 열의 첫 번째 문자 만 가져 오려고합니다. 이를 위해 SQL에 문자열 함수가 있습니까?


LEFT(colName, 1)또한 이것을 할 것입니다. 와 같습니다 SUBSTRING(colName, 1, 1).

나는 LEFT조금 더 깨끗하다는 것을 알기 때문에 좋아 하지만 실제로는 어느 쪽도 차이가 없습니다.


나는 선호한다:

SUBSTRING (my_column, 1, 1)

표준 SQL-92 구문이므로 더 이식성이 뛰어납니다.


엄밀히 말하면 표준 버전은

SUBSTRING (my_column FROM 1 FOR 1)

요점은, 하나에서 다른 것으로, 따라서 유사한 벤더 변형으로 변환하는 것은 사소한 것입니다.

ps 표준 SQL의 함수는 표준 commalists가 아닌 매개 변수 목록을 사용하여 표준에서 온 것으로 쉽게 식별 할 수 있도록 의도적으로 반대한다는 것이 최근에 지적되었습니다!


SUBSTRING ( MyColumn, 1 , 1 )첫 번째 캐릭터와 SUBSTRING ( MyColumn, 1 , 2 )처음 두 캐릭터를 위해.


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

@결과: his

-또는-

SET @Result = LEFT(@SomeString, 6)
SELECT @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

SQL 문자열에서 문자열의 첫 번째 문자를 검색하면

SELECT CHARINDEX('char', 'my char')

=> return 4

선택한 필드에서 처음 두 문자를 Left(string,Number of Char in int)

SELECT LEFT(FName, 2) AS FirstName FROM dbo.NameMaster

참고 URL : https://stackoverflow.com/questions/792294/how-to-get-first-character-of-a-string-in-sql

반응형