私は長さが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. リンクリストの文字列から最初の文字を取得する方法は?
- 2. Twig:文字列の最初の文字を取得する方法
- 3. 列の文字列の最初の文字を取得
- 4. は、文字列の最初の文字を削除し、私はこの文字列の最初の文字を取得する必要があり、文字列
- 5. 文字列の最初のシンボルを取得する方法
- 6. VBの文字列配列の最初の6文字列を取得する
- 7. 文字列の最初の文字の取得と削除
- 8. 名前の頭文字を取得する文字列の最初の文字を取得
- 9. c#TextBox文字列の最後の文字を取得する方法は?
- 10. cの文字列配列から最初の文字列を取得
- 11. javascriptで最初の文字の文字列をチェックする方法は?
- 12. 文字列内の最初の文字のユニコード値を取得する
- 13. Javascript - 私の文字列の最初の文字を取得する - エラー
- 14. jQueryで文字列の最初のidを取得する
- 15. Excelで最初のスペースの後に文字列を取得する方法
- 16. フランス語のアクセントの文字列の最初の文字を取得します。
- 17. Shellの文字列から最初の文字を抽出する方法は?
- 18. SQLの文字列中の最初の文字列を置換する
- 19. 文字列内の文字インデックスを取得する方法
- 20. 文字列内の文字数を取得する方法
- 21. Scala - 文字列の最後の2文字を取得する
- 22. 一致する文字列の最後の文字を取得
- 23. 文字列の文字列をJavaの最初の数字文字まで
- 24. 文字列の最初のYの後にX個の文字を取得する方法
- 25. 最初のスラッシュ '/'</p> <p>TEST/0001に私の例の文字 'T' の最初の文字から文字列を取得する方法odoo 9
- 26. C#で文字列の前に文字列を取得する方法は?
- 27. 各単語の最初の文字、または文字列全体の最初の文字をC#で大文字にする方法は?
- 28. 文章中の文字列の最初の文字を大文字にする方法は?
- 29. 特定の文字列の後に最初のパターンを取得する方法
- 30. 文字列の最初の桁のインデックスを取得する方法
私は、SQLサーバーについては知らないが、論理的にデータベースサーバーが最適化することができるかもしれませんインデックスを使用しているときは、SUBSTRINGよりもLEFTのほうがよくなります。 – thomasrutter
@thomasrutter実行計画を見ると、SQL Server(少なくとも2008R2)は内部的に 'LEFT(colName、length)'を 'SUBSTRING(colName、1、length)'に変換します。だから**ここには最適化**がありません。それは単なる好みです。 –