問題タブ [patindex]
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.
tsql - 数字以外の文字を削除するクエリを選択してください
可変アルファ長の列にダーティ データがあります。0-9 以外のものを取り除きたいだけです。
関数やプロシージャを実行したくありません。テキストの後に数値を取得するだけの同様のスクリプトがあります。次のようになります。
Alpha # 12345789 の形式だけだと思っていたデータ フィールドの一部がそうではないことがわかるまで、かなりうまくいくと思っていました。
削除する必要があるデータの例
123 が欲しいだけです。すべてのデータ フィールドの数値の前に # があるのは事実です。
部分文字列と PatIndex を試しましたが、構文が正しいかどうかがわかりません。これに対処する最善の方法についてアドバイスはありますか?
c# - SQL Server 2008 の PATINDEX 関数に相当する C#
C#コードで実行したい次のSQL Serverコードがあります。ロジックは、パターン「%SELECT %FROM%」が「x」という文字列で見つかった場合、戻る必要があるというものです。「%」は 0 文字以上を表します。
私が得ていない部分は、コードの最初の行を C# に変換する方法ですか?
sql - patindex を使用して sybase の文字列から特殊文字を削除する方法
特殊文字で構成されるデータがありますが、出力にその特殊文字またはASCII文字が表示されません。英数字とスペースのみが必要です。他のすべての文字は null に置き換える必要があります。これを処理する方法を提案してください。patindex が正常に動作することがわかりましたが、文字列から複数の文字を置き換えるかどうかはわかりません
sql-server - パターンを介してクエリから列を置き換える
文字列内のすべての列を置き換える方法
上記の例では、@sqlText で列 abc と xyz を検索し、それらをすべて 1=1 に置き換える必要があります
最終的な出力は次のようになります
私はこのようにしようとしましたが、置換機能がパターンで機能していないようです。また、最初の検索でのみ機能します。列 abc と xyz がステートメントに複数回現れる可能性があります。
どんな助けでも
編集
これを試しましたが、適切な結果が得られません
vb.net - PATINDEX を使用した SQL スカラー値関数を VB に相当する関数に変換する必要がある
長年の読者、初めてのポスター。テキストの壁については事前に申し訳ありません。
短いバージョン: VB の Instr (または他の VB 関数) を使用して文字列を検索し、その文字列内の 3 つのシンボルのいずれかが最初に出現したインデックスを返す方法を知る必要があります。3 つの記号のいずれかが、文字列内で任意の回数、任意の順序で出現する可能性があります。Tsql では、PATINDEX を使用して文字列を検索します。
#、$、および @ は、探す必要がある個々の記号です。注: これらは置換です。「IRL」を使用する実際のシンボルは、私の stackOverflow 投稿で問題を引き起こしています。
詳細バージョン: 日付 (保証開始日)、アプリケーションからの記号と数字を含む特別な文字列、およびその他のいくつかの必要な入力を受け取り、「特別な文字列」をループして X 番号を実行する Tsql 関数を作成しました。最終的に保証終了日を返します。問題は、DB ウェアハウスから報告するためにこの日付が必要であり、このようにすべての行に対して関数を呼び出すのが遅すぎることです。関数全体を、最初にデータを読み込む SSIS パッケージのスクリプト タスクに移動したいと考えています。これにより、計算はメモリ内で実行でき、一度だけ実行する必要があります。参照用の TSQL 関数は次のとおりです。
私は VB.net についてある程度の知識を持っています。少しの努力と、stackoverflow の多くの検索で、残りの TSQL 関数を VB と同等のものに変換できると確信しています。しかし、その PATINDEX ステートメントを書き直す方法に行き詰まっています。
sql-server - patindex を使用して列を解析して名前を反転する
だから私は顧客のデータベースを持っています。実行するSELECT * FROM MyTable
と、いくつかの列が返されます。そのうちの 1 つは名前です。次のようになります。
等。いくつかは姓、名です。その他は名字です。
私の上司は、名前を反転させて、名前をすべて最初にして最後にするように求めています。
だから私はこれを実行しました:
問題は、それを実行すると、反転する必要のない名前が見つかるまで名前のみを実行することです。したがって、上記の例では、すべてではなく、最初の 4 つの名前のみが表示されます。
PATINDEX()
を使用してすべての名前を引き出すことができると提案されました。これの使い方がわからないので、助けてもらえたらと思っていました。
sql - ストアド プロシージャ定義から文字列を抽出する
リモート サーバーからデータを抽出するいくつかのストアド プロシージャで使用されるライブラリを確認する必要があります。
私は(SOの助けを借りて、SO 21708681を参照)以下のコードを構築しました:
各ターゲット ストアド プロシージャ内には、次のような行があります。
ストアド プロシージャごとに 'LIVEBOC_A' の部分 ('LIVEBOC_A' または LIVEBOC_B のいずれか) を知る必要があります。
PATINDEX と CHARINDEX を使用して、定義内の文字列の開始 opf の場所を取得しようとしましたが、sysmodules
返されるのはゼロか、文字列またはバイナリ データが切り捨てられるというエラーだけです。
sql - SQL Select with Len - 変換に失敗しましたか?
これは私のクエリです:
実行すると、「nvarchar 値 'XXX' をデータ型 int に変換するときに変換に失敗しました」というエラーが表示されます (xxx は、置き換えなければならない実際の値です)。誰か助けてくれませんか?Ps。ステートメントがコードブロックに正しく入っていることを願っています。どうやら、コードを正しく貼り付ける方法がわかりません。
ありがとう!
sql - フィルタリングのための SQL PATINDEX パターン
Outlook メールの件名として使用する文字列をフィルター処理しようとしています。フィルタ b/c を使用すると、特殊文字を含む一部の文字列によって件名が Unicode に変換されますが、これを防止したいと考えています。私は PATINDEX を使用しようとしていますが、括弧をパターンに入れることができません。これを行う方法を知っている人や、PATINDEX のパターンを作成するためのガイドを共有するのに適したサイトを持っている人はいますか? ここに私が持っているものがあります:
ご覧のとおり、パターンで括弧を取得する方法がわからなかったので、今のところ括弧に置き換えています。
sql-server - Transact-SQL 照合が機能しない
次のようにPATINDEX関数を使用しようとしています。
私はそれが9を返すことを期待していますが、2を返します。また、最初のパラメーターで照合を指定し、キリル文字の代わりに Latin1_General_CS_AS を使用しようとしました-同じ結果です。