タグ付けされた質問 「tsql」

T-SQL(Transact Structured Query Language)は、Sybase ASEおよびMicrosoft SQL ServerでサポートされるSQL機能の拡張です。MySQL、PostgreSql、Oracle(Pl / SQL)関連のクエリには、このタグを使用しないでください。LINQを使用して記述されているSQLコードもこのタグの一部ではないことに注意してください。このタグは、Microsoft SQL Serverを使用した高度なSQLプログラミング用に特別に作成されました。


23
SQL Serverで日時の時間部分を削除する最善の方法
SQL Serverの日時フィールドから時間部分を削除するときに、どの方法が最高のパフォーマンスを提供しますか? a) select DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0) または b) select cast(convert(char(11), getdate(), 113) as datetime) 2番目の方法は、どちらの方法でも数バイトを送信しますが、変換の速度ほど重要ではない場合があります。 どちらも非常に高速に見えますが、数十万行以上を処理するときに速度に違いがあるのではないでしょうか。 また、SQLの日時の時間部分を取り除くためのさらに優れた方法がある可能性はありますか?
514 sql  sql-server  tsql  datetime  date 

12
T-SQL:結合を介して削除する行の選択
シナリオ: TableAとTableBの2つのテーブルがあるとします。TableBの主キーは単一列(BId)であり、TableAの外部キー列です。 私の状況では、TableBの特定の行にリンクされているTableAのすべての行を削除したいのですが、結合によって削除できますか?結合からプルされたすべての行を削除しますか? DELETE FROM TableA FROM TableA a INNER JOIN TableB b ON b.BId = a.BId AND [my filter condition] または私はこれを行うことを余儀なくされています: DELETE FROM TableA WHERE BId IN (SELECT BId FROM TableB WHERE [my filter condition]) 私が尋ねる理由は、より大きなテーブルを扱う場合、最初のオプションの方がはるかに効率的であるように思えるからです。 ありがとう!
494 tsql  join 




28
FOREIGN KEY制約によって参照されているため、テーブルを切り捨てられませんか?
MSSQL2005を使用して、最初に子テーブル(FK関係の主キーを持つテーブル)を切り捨てた場合、外部キー制約でテーブルを切り捨てることができますか? 私はどちらかができることを知っています DELETEwhere句なしでRESEEDIDを使用してから、ID(または) FKを削除し、テーブルを切り捨てて、FKを再作成します。 親の前に子テーブルを切り捨てている限り、上記のいずれのオプションも実行しなくても大丈夫だと思いましたが、次のエラーが発生します。 FOREIGN KEY制約によって参照されているため、テーブル 'TableName'を切り捨てることはできません。

18
ストアドプロシージャの結果セットから列を選択する
80列と300行を返すストアドプロシージャがあります。これらの列のうち2つを取得する選択を記述したいと思います。何かのようなもの SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2' 上記の構文を使用すると、エラーが発生します。 「無効な列名」。 ストアドプロシージャを変更することが最も簡単な解決策であることはわかっていますが、私はそれを記述しておらず、変更することはできません。 やりたいことはありますか? 結果を入れる一時テーブルを作成することもできますが、80列なので、2列を取得するためだけに80列の一時テーブルを作成する必要があります。返されたすべての列を追跡しないようにしたいと思いました。 WITH SprocResults AS ....マークの提案に従って使用してみましたが、2つのエラーが発生しました キーワード「EXEC」付近の構文が正しくありません。「)」付近の構文が正しくありません。 テーブル変数を宣言しようとすると、次のエラーが発生しました 挿入エラー:列名または指定された値の数がテーブル定義と一致しません 私がしよう SELECT * FROM EXEC MyStoredProc 'param1', 'param2' とすると、エラーが発生します: キーワード「exec」付近の構文が正しくありません。

7
SQL Serverクエリ-DISTINCTでのCOUNT(*)の選択
SQL Server 2005には、運用環境に配置されたすべてのコードをリストするテーブルcm_productionがあります。このテーブルには、ticket_number、program_type、program_name、およびpush_numberとその他の列があります。 目標:すべてのDISTINCTプログラム名をプログラムタイプとプッシュ番号でカウントする これまでのところ: DECLARE @push_number INT; SET @push_number = [HERE_ADD_NUMBER]; SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] FROM cm_production WHERE push_number=@push_number GROUP BY program_type これは途中で私を取得しますが、それはすべてのプログラム名を数えています。明確なものではありません(そのクエリでそれを行うことは期待していません)。個別のプログラム名のみを選択してカウントせずにカウントするように指示する方法に頭を悩ませることはできないと思います。か何か。

7
ステートメントを選択して特定のフィールドの重複を見つけます
SQLステートメントで複数のフィールドの重複を見つけるのを手伝ってくれませんか? たとえば、擬似コードでは: select count(field1,field2,field3) from table where the combination of field1, field2, field3 occurs multiple times 上記のステートメントから、複数のオカレンスがある場合、最初のレコードを除くすべてのレコードを選択したいと思います。

10
TSQLの改行を置き換える
TSQL文字列の改行文字を置換(または削除)したいと思います。何か案は? 明白な REPLACE(@string, CHAR(13), '') やらないだけ...
414 tsql  newline 

17
文字列に先行ゼロを埋め込んで、SQL Server 2008では3文字になるようにする
SQL Server 2008 R2で最初に作成されたとき、最大3文字の文字列があります。 先行ゼロで埋めたいので、元の値が「1」の場合、新しい値は「001」になります。または、元の値が「23」の場合、新しい値は「023」です。または、元の値が「124」の場合、新しい値は元の値と同じです。 SQL Server 2008 R2を使用しています。T-SQLを使用してこれをどのように実行しますか?
398 sql-server  tsql 


12
Count()で条件を指定することは可能ですか?
で条件を指定することはできますCount()か?たとえば、[位置]列に「マネージャー」が含まれている行のみをカウントしたいと思います。 countステートメントでそれをしたいのですが、は使用しませんWHERE。ManagerとOtherの両方を同じSELECTように数える必要があるので、私はそれについて尋ねています(この例では、このようなCount(Position = Manager), Count(Position = Other))ものWHEREは役に立たないのです)。
391 sql  sql-server  tsql 

14
LinqでSQL Like%を行う方法は?
Linqに変換しようとしているSQLのプロシージャがあります。 SELECT O.Id, O.Name as Organization FROM Organizations O JOIN OrganizationsHierarchy OH ON O.Id=OH.OrganizationsId where OH.Hierarchy like '%/12/%' 私が最も気になる行は次のとおりです。 where OH.Hierarchy like '%/12/%' たとえば、/ 1/3/12 /などの階層を格納する列があるので、%/ 12 /%を使用して検索します。 私の質問は、パーセント記号を使用することに相当するLinqまたは.NETは何ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.