我有一個長度爲6的SQL列。現在只想獲取該列的第一個字符。 SQL中是否有任何字符串函數來執行此操作?如何獲取SQL中的字符串的第一個字符?
144
A
回答
280
LEFT(colName, 1)
也會這樣做。這相當於SUBSTRING(colName, 1, 1)
。
我喜歡LEFT
,因爲我覺得它有點乾淨,但實際上,兩種方式都沒有區別。
11
SUBSTRING (MyColumn, 1 , 1)
第一個字符和SUBSTRING (MyColumn, 1 , 2)
第二個。
28
我喜歡:
SUBSTRING (my_column, 1, 1)
,因爲它是標準的SQL-92語法,因此更便於攜帶。
嚴格地說,標準版本將是
SUBSTRING (my_column FROM 1 FOR 1)
的要點是,從一個到另一個變換,因此於任何類似的供應商的變化,是微不足道的。
p.s.直到最近我才指出,標準SQL中的函數是故意相反的,因爲它們的參數列表並不是傳統的commalist,爲了使它們易於被標識爲標準!
+0
謝謝,LEFT(str,n)不支持許多格式(包括我使用的格式)。 – GreySage 2016-03-20 21:31:38
0
如果搜索字符串的第一個字符的SQL字符串
SELECT CHARINDEX('char', 'my char')
=> return 4
1
INPUT
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
4
SELECT SUBSTR(thatColumn, 1, 1) As NewColumn from student
5
它是簡單通過以下來實現:
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
相關問題
- 1. 獲取字符串中子字符串的第一個字母
- 2. Ruby:如何獲取字符串的第一個字符
- 3. Android如何獲取字符串的第一個字符?
- 4. 如何獲取字符串的第一個字符
- 5. C#:如何獲得一個字符串的第一個字符?
- 6. 如何獲取字符串中第一個字母的位置
- 7. 獲取第二個字符/字符串出現的字符串
- 8. 樹枝:如何獲得字符串中的第一個字符
- 9. 獲取每個單詞的第一個字符的字符串
- 10. 獲取字符串中第一個字符的Unicode值
- 11. 在java中的字符串操作,獲取第一個字符
- 12. 從字符串數組中獲取第一個字符串c
- 13. Python:獲取列表中第一個字符串的第一個字符?
- 14. 如何從字符串中獲取第一個Y後的X個字符
- 15. 的Java獲取第一個字符值的字符串
- 16. 如何從sqlitedb查詢中的第一個字符中獲取字符串
- 17. 獲取字符串中第一個出現的多個字符串之一
- 18. 如何獲取函數來遍歷字符串並替換字符串的第一個字符,第二個等?
- 19. 如何獲取字符串中的第三個和第四個分隔字符之間的子字符串?
- 20. 獲取UTF-8字符串的第一個字符
- 21. 獲取並刪除字符串的第一個字符
- 22. 如何從字符串中提取字符串的第一個數字
- 23. 如何獲取PHP中最後一個字符串的字符?
- 24. 如何獲取C++中字符串的最後一個字符
- 25. string [0]從字符串中獲取第一個字符
- 26. T-SQL - 如何搜索字符串中的第n個字符
- 27. 如何獲取字符串中的第一個元素?
- 28. SQL查詢只提取字符串列中的第一個字
- 29. 從字符串中提取第一個數字的值sql
- 30. 如何獲得的第一個字一個字符串在Excel
我不知道有關SQL服務器,但在邏輯數據庫服務器可能能夠優化當它使用索引時,它比SUBSTRING更好。 – thomasrutter 2009-04-27 05:26:09
@thomasrutter,查看執行計劃,SQL Server(至少2008R2)在內部將'LEFT(colName,length)'轉換爲'SUBSTRING(colName,1,length)'。所以**這裏沒有任何優化**,這只是一個偏好。 – 2014-09-15 15:15:53