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

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

10
SQL Serverでforeachを作成する方法は?
私はfor-eachに沿って何かを達成しようとしています。そこでは、返されたselectステートメントのIDを取得して、それぞれを使用したいと考えています。 DECLARE @i int DECLARE @PractitionerId int DECLARE @numrows int DECLARE @Practitioner TABLE ( idx smallint Primary Key IDENTITY(1,1) , PractitionerId int ) INSERT @Practitioner SELECT distinct PractitionerId FROM Practitioner SET @i = 1 SET @numrows = (SELECT COUNT(*) FROM Practitioner) IF @numrows > 0 WHILE (@i <= (SELECT MAX(idx) …
192 sql-server  tsql 

8
SSMSでntextまたはnvarchar(max)のすべてのテキストをどのように表示しますか?
SQL Server Management StudioでNTEXTまたはNVARCHAR(max)のすべてのテキストをどのように表示しますか?デフォルトでは、最初の数百文字(255?)しか返さないように見えますが、プログラムを記述せずにフィールド全体をすばやく表示したい場合もあります。SSMS 2012にもこの問題があります:(

8
SQL RANK()とROW_NUMBER()の比較
これらの違いについて混乱しています。次のSQLを実行すると、2つの重要な結果セットが取得されます。誰かが違いを説明できますか? SELECT ID, [Description], RANK() OVER(PARTITION BY StyleID ORDER BY ID) as 'Rank' FROM SubStyle SELECT ID, [Description], ROW_NUMBER() OVER(PARTITION BY StyleID ORDER BY ID) as 'RowNumber' FROM SubStyle
189 sql  sql-server  tsql 


9
varchar列の最大長を変更しますか?
内容を失わずに、varchar列の長さを255文字から500文字に更新しようとしています。以前にテーブルを削除して再作成したことがありますが、これを行うために使用する必要があると私が信じているalterステートメントに触れたことはありません。私はここにドキュメントを見つけました:ALTER TABLE(Transfact-SQL)しかし、それの表と裏を作ることはできません。 私はこれまでに以下のものを持っています(基本的に残念ながら何もありません): alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 これにどのように取り組みますか?このステートメントの優れたドキュメントはありますか(例のステートメントをいくつか検索しましたが、空になりました)?


6
列を変更し、デフォルトの制約を追加
テーブルがあり、列の1つは、datetimeタイプの「日付」です。その列にデフォルトの制約を追加することにしました Alter table TableName alter column dbo.TableName.Date default getutcdate() しかし、これは私にエラーを与えます: 「。」付近の構文が正しくありません 誰かがここで明らかに間違っている何かを見ていますか?それは私が見逃しています(カラムのより良い名前を除いて)


9
EXISTSをビットとして直接選択することは可能ですか?
私はこのようなことをすることが可能かどうか疑問に思っていました(これは機能しません): select cast( (exists(select * from theTable where theColumn like 'theValue%') as bit) それは実行可能であるように見えますが、SQLで機能するはずの多くのことはできません;)私はこれの回避策を見ました(SELECT 1 where ... Exists ...)が、私はちょうどできるように思えますexists関数の結果をビットとしてキャストし、それで完了します。
186 sql  sql-server  tsql 

14
SQL Serverの文字列から日付への変換
このような文字列を変換したい: '10/15/2008 10:06:32 PM' SQL Serverの同等のDATETIME値に。 オラクルでは、私はこれを言うでしょう: TO_DATE('10/15/2008 10:06:32 PM','MM/DD/YYYY HH:MI:SS AM') この質問は、文字列を標準形式の 1つに解析し、それらのコードの1つを使用して変換する必要があることを意味しています。それは、そのような平凡な操作にとってばかげているようです。もっと簡単な方法はありますか?

6
T-SQLストアドプロシージャでオプションのパラメーターを使用するにはどうすればよいですか?
テーブルを検索するストアドプロシージャを作成しています。さまざまな検索フィールドがあり、すべてオプションです。これを処理するストアドプロシージャを作成する方法はありますか?ID、FirstName、LastName、Titleの4つのフィールドを持つテーブルがあるとします。私はこのようなことをすることができます: CREATE PROCEDURE spDoSearch @FirstName varchar(25) = null, @LastName varchar(25) = null, @Title varchar(25) = null AS BEGIN SELECT ID, FirstName, LastName, Title FROM tblUsers WHERE FirstName = ISNULL(@FirstName, FirstName) AND LastName = ISNULL(@LastName, LastName) AND Title = ISNULL(@Title, Title) END この種の作品。ただし、FirstName、LastName、またはTitleがNULLのレコードは無視されます。Titleが検索パラメーターで指定されていない場合、TitleがNULLのレコードを含めたい-FirstNameとLastNameで同じ。おそらく動的SQLでこれを実行できると思いますが、それは避けたいと思います。



14
SQLでは、どのように範囲内で「グループ化」できますか?
数値列のあるテーブルがあるとします(「スコア」と呼びましょう)。 各範囲でスコアが出現した回数を示すカウントのテーブルを生成したいと思います。 例えば: スコア範囲| 発生数 ------------------------------------- 0-9 | 11 10-19 14 20-29 | 3 ... | ... この例では、スコアが0〜9の範囲にある11行、スコアが10〜19の範囲にある14行、およびスコアが20〜29の範囲にある3行がありました。 これを設定する簡単な方法はありますか?何がお勧めですか?
181 sql  sql-server  tsql 

10
SQLで2つの値の最小値を取得する
2つの変数があります。1つはと呼ばれ、もう1つはとPaidThisMonth呼ばれOwedPastます。どちらもSQLのいくつかのサブクエリの結果です。2つのうち小さい方を選択して、タイトルの値として返すにはどうすればよいPaidForPastですか? このMIN関数は変数ではなく列に対して機能します。
180 tsql  sql-server 

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