私は長さが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の機能は、従来のcommalistsではないパラメータリストを持つことによって、意図的に反対であることを最近指摘しただけです。
+0
ありがとう、LEFT(str、n)は、私が使用しているフォーマットを含む多くのフォーマットではサポートされていません。 – GreySage
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
-OR-
SET @Result = LEFT(@SomeString, 6)
SELECT @Result
@Result:This i
関連する問題
- 1. Twig:文字列の最初の文字を取得する方法
- 2. 列の文字列の最初の文字を取得
- 3. は、文字列の最初の文字を削除し、私はこの文字列の最初の文字を取得する必要があり、文字列
- 4. 文字列の最初の文字の取得と削除
- 5. フランス語のアクセントの文字列の最初の文字を取得します。
- 6. 文字列内の文字数を取得する方法
- 7. 文字列内の文字インデックスを取得する方法
- 8. Scala - 文字列の最後の2文字を取得する
- 9. 各単語の最初の文字、または文字列全体の最初の文字をC#で大文字にする方法は?
- 10. 特定の文字列の後に最初のパターンを取得する方法
- 11. 文字列の最初の桁のインデックスを取得する方法
- 12. C文字列:文字列の最後の単語を取得
- 13. 文字列配列の部分文字列を取得する最良の方法は何ですか?
- 14. 最初の文字が文字であるまで文字列から文字列を削除するには?
- 15. 文字列の "%"の最後のインデックスを取得する方法?
- 16. 文字列配列の文字列長を取る方法は?
- 17. PHP文字列から最初の3ワードを取得する
- 18. Python:リストの最初の文字列の最初の文字を取得しますか?
- 19. 部分文字列を取得する最適な方法は?
- 20. 2文字列の最大値を取得する方法
- 21. 最初の列の大文字小文字は、bashでのみ
- 22. 文字列の最後に数字を取得する方法は?
- 23. C++文字列内の最後の(n)文字を取得
- 24. 文字列の最後の文字を取得
- 25. 変数から文字列の最後の文字を取得
- 26. 文字列内の最初の5文字がどれかを知る方法
- 27. C#で最初の文字以外の文字列を小文字にする方法
- 28. 文字列の最初の文字の大文字/小文字の決定
- 29. 3文字のいずれかと一致する最初の文字でレコードを取得する方法
- 30. 文字列の最初の文字を削除する場合
私は、SQLサーバーについては知らないが、論理的にデータベースサーバーが最適化することができるかもしれませんインデックスを使用しているときは、SUBSTRINGよりもLEFTのほうがよくなります。 – thomasrutter
@thomasrutter実行計画を見ると、SQL Server(少なくとも2008R2)は内部的に 'LEFT(colName、length)'を 'SUBSTRING(colName、1、length)'に変換します。だから**ここには最適化**がありません。それは単なる好みです。 –