問題タブ [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.

0 投票する
1 に答える
305 参照

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 つの同一の選択がどのように異なる結果を返すのですか?

0 投票する
2 に答える
12982 参照

sql - SQL - 最初のスペースと 2 番目のスペースの後の部分文字列を別々の列で取得する

FullName、、FirstNameを含む列がありMiddleNameますLastName
例えば:

本名:マリリン・キーン・カークランド

の 3 つの個別の列が必要FirstNameMiddleNameあり、LastNameそこからFullName部分文字列を取得します。

私はFirstNameコードを使用して引っ張っています:

最初のスペースの後、2 番目のスペースの前にあるミドル ネームだけを取得するにはどうすればよいでしょうか。
また、2番目のスペースの後に来る姓を取得したいですか?

0 投票する
0 に答える
69 参照

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つのメールアドレスがあります。実際には作成できますが、メールを分割できませんでしたちゃんと)

0 投票する
2 に答える
414 参照

sql - SQL SERVER 2008 - SUBSTRING AND CHARINDEX を使用してテキストの一部を返す。特定の文字まですべてのテキストを返す必要がある

人に関する多くのデータを含む「応答」という列があります。

特定の文字列の後の情報のみを返したい

しかし、以下の方法を使用すると、IQ が 100 未満の場合に | が得られることがあります。必要な番号の直後に来ます..

「PersonIQ=」の後に任意の文字が必要ですが、パイプの前にのみ必要です。

これを達成する最善の方法がわかりません。

クエリの速度は懸念事項であり、ネストされた CASE の私の考えはおそらく最善の解決策ではありません。

アドバイスをいただければ幸いです。ありがとう

0 投票する
3 に答える
174 参照

sql-server-2005 - SQL Server 2005 - CHARINDEX() に追加するときに RIGHT() が機能しない

関数を使用して、値が「/」で構成されている場合に値の部分文字列を取得しようとしていますRIGHTが、値に数値を追加すると機能しませんCHARINDEX。なしでのみ。

コードのサンプルを次に示します。

これは、例えば

これでも返ってくるはず

+1ただし、を削除すると、RIGHT関数は正常に機能します

ここで何が間違っていますか?私のロジックに欠陥がありますか?

0 投票する
1 に答える
30 参照

sql - 部分文字列と SQL テーブルの並べ替え

次のようなテーブルがあります

タグが 9 で始まり、タグ列の最後のアンダースコアの後の値が 17 である場所でテーブルをフィルター処理できる select ステートメントが必要です。結果は次のようになります。

最初のアンダースコアの後の値は最大 999 になり、2 番目のアンダースコアの後の値は最大 99999 になることに注意してください。