問題タブ [charindex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SSMS - SQL - キャリッジ リターンの CHARINDEX
SQL では、さまざまな長さのアドレスを取り込み、それをキャリッジ リターンで 2 つの別々のフィールドに分けようとしています。住所の分離に成功しましたが、ときどき (300 回中 17 回) 住所の右側が正しくないことがわかります。
Adr1: RM320 VOTECH(Char(10))abc BUFORD AVE,
Adr2: FIELD ATHLETIC BLDG(Char(10))abc 15TH AVE SE,
キャリッジ リターンの前後にスペースはありません。
これは、「abc buford ave」を返す必要があるときに「bc BUFORD AVE」を返します。
これは正しく「abc 15TH AVE SE」を返します。
2 つの同一の選択がどのように異なる結果を返すのですか?
sql - SQL - 最初のスペースと 2 番目のスペースの後の部分文字列を別々の列で取得する
FullName
、、FirstName
を含む列がありMiddleName
ますLastName
。
例えば:
本名:マリリン・キーン・カークランド
の 3 つの個別の列が必要FirstName
でMiddleName
あり、LastName
そこからFullName
部分文字列を取得します。
私はFirstName
コードを使用して引っ張っています:
最初のスペースの後、2 番目のスペースの前にあるミドル ネームだけを取得するにはどうすればよいでしょうか。
また、2番目のスペースの後に来る姓を取得したいですか?
sql - 特定の文字で文字列を分割する
これが私の状況です.csvファイルからの列があります.SQLにすべてのフィールドを適切にロードしましたが、電子メール列にはいくつかのレコードに複数の電子メールアドレスがあります. メールが 2 通なら処理できますが、メールが 3 ~ 4 通以上ある限り、ほとんど問題はありません。
ここに例があります 'ekuntsche@addictionsuisse.ch;ekuntsche@suchtschweiz.ch;ekuntsche@sfa-ispa.ch;ekuntsche@addiction-info.ch' これは 1 列のみです。email1 として 4 つの異なる列に分割する必要があります,email2,email3,email4 で区切り文字は「;」charindex や substring などを使うべきだと思いますが、作成できませんでした。誰かが関数を作成して関数の実行方法を示すことができれば、それは非常に役立ちます。ありがとうデータベース名「bi_deploy」主な列名は「メール」ですこのテーブルの一意のIDは「ID」です(これはメールテーブルのみで、すべての行には1つのメールアドレスがあります。実際には作成できますが、メールを分割できませんでしたちゃんと)
sql - SQL SERVER 2008 - SUBSTRING AND CHARINDEX を使用してテキストの一部を返す。特定の文字まですべてのテキストを返す必要がある
人に関する多くのデータを含む「応答」という列があります。
特定の文字列の後の情報のみを返したい
しかし、以下の方法を使用すると、IQ が 100 未満の場合に | が得られることがあります。必要な番号の直後に来ます..
「PersonIQ=」の後に任意の文字が必要ですが、パイプの前にのみ必要です。
これを達成する最善の方法がわかりません。
クエリの速度は懸念事項であり、ネストされた CASE の私の考えはおそらく最善の解決策ではありません。
アドバイスをいただければ幸いです。ありがとう
sql-server-2005 - SQL Server 2005 - CHARINDEX() に追加するときに RIGHT() が機能しない
関数を使用して、値が「/」で構成されている場合に値の部分文字列を取得しようとしていますRIGHT
が、値に数値を追加すると機能しませんCHARINDEX
。なしでのみ。
コードのサンプルを次に示します。
これは、例えば
これでも返ってくるはず
+1
ただし、を削除すると、RIGHT
関数は正常に機能します
ここで何が間違っていますか?私のロジックに欠陥がありますか?
sql - 部分文字列と SQL テーブルの並べ替え
次のようなテーブルがあります
タグが 9 で始まり、タグ列の最後のアンダースコアの後の値が 17 である場所でテーブルをフィルター処理できる select ステートメントが必要です。結果は次のようになります。
最初のアンダースコアの後の値は最大 999 になり、2 番目のアンダースコアの後の値は最大 99999 になることに注意してください。