タグ付けされた質問 「sql-server」

Microsoft SQL Serverは、リレーショナルデータベース管理システム(RDBMS)です。このタグは、Compact、Express、Azure、Fast-track、APS(以前のPDW)、Azure SQL DWを含むすべてのSQL Serverエディションに使用します。他のタイプのDBMS(MySQL、PostgreSQL、Oracleなど)には、このタグを使用しないでください。データベースに直接関連している場合を除き、このタグをソフトウェアやモバイル開発の問題に使用しないでください。

17
T-SQLで重複するスペースを1つのスペースに置き換える
特定のフィールドの文字間に複数のスペースがないことを確認する必要があります(すべての空白は気にせず、スペースのみを気にします)。 そう 'single spaces only' に変える必要がある 'single spaces only' 以下は動作しません select replace('single spaces only',' ',' ') 結果として 'single spaces only' CLRベースのソリューションではなく、ネイティブのT-SQLを使用するほうがいいと思います。 考え?
100 sql-server  tsql 

5
再帰的な自己結合を行う最も簡単な方法は?
SQL Serverで再帰的な自己結合を行う最も簡単な方法は何ですか?私はこのようなテーブルを持っています: PersonID | Initials | ParentID 1 CJ NULL 2 EB 1 3 MB 1 4 SW 2 5 YT NULL 6 IS 5 また、特定の人から始まる階層にのみ関連するレコードを取得できるようにしたいと考えています。したがって、PersonID = 1でCJの階層を要求した場合、次のようになります。 PersonID | Initials | ParentID 1 CJ NULL 2 EB 1 3 MB 1 4 SW 2 そしてEBのために私は得るでしょう: PersonID | Initials | …


19
SQL Serverのビットフィールドにインデックスを付ける必要がありますか?
カーディナリティが低い(個別の値の数が少ない)フィールドにインデックスを付けることは、実際に行う価値がないことを覚えていました。インデックスがどのように機能するのか、それがなぜなのかを理解するのに十分な知識がないことを認めます。 では、1億行のテーブルがあり、ビットフィールドが1のレコードを選択している場合はどうなるでしょうか。そして、いつでも、ビットフィールドが(0ではなく)1であるレコードはほんの少ししかないとしましょう。そのビットフィールドにインデックスを付ける価値はありますか?どうして? もちろん、テストして実行プランを確認するだけで十分ですが、その背後にある理論についても知りたいです。カーディナリティはいつ重要で、いつ重要ではないのですか?

1
SQL Server-クラスター化インデックスと非クラスター化インデックスを使用する場合
クラスタ化インデックスと非クラスタ化インデックスの主な違いを知っており、それらが実際にどのように機能するかを理解しています。クラスタ化インデックスと非クラスタ化インデックスが読み取りパフォーマンスを向上させる方法を理解しています。しかし、私が確信していないことの1つは、私がどちらを選ぶかという理由が何であるかということです。 例:テーブルにクラスター化インデックスがない場合、非クラスター化インデックスを作成する必要があり、実行するメリットは何ですか

22
SQL Serverへの接続が機能することがある
ADO.Netアプリケーションは、ローカルネットワーク上の別のサーバーに接続できる場合があります。特定の接続試行が成功するか失敗するかはランダムに見えます。接続は次の形式の接続文字列を使用しています。 サーバー= THESERVER \ TheInstance;データベース= TheDatabase;ユーザーID = TheUser; Password = ThePassword; 返されるエラーは次のとおりです。 接続タイムアウトの期限が切れました。ログイン前のハンドシェイクの確認応答を消費しようとしたときにタイムアウト期間が経過しました。 これは、ログイン前のハンドシェイクが失敗したか、サーバーが時間内に応答できなかったことが原因である可能性があります。 このサーバーへの接続試行中に費やされた時間は-[Pre-Login] initialization = 42030;でした。handshake = 0; .NETアプリケーションは、次のコードを実行する小さなテストアプリです。 using (SqlConnection conn = new SqlConnection(cs)) using (SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM TheTable", conn)) { conn.Open(); int rowCount = (int)cmd.ExecuteScalar(); } テーブルは小さく、わずか78行です。 ただし、.NETアプリケーションがこのエラーを受け取るのと同じマシンで、SSMSと接続文字列で指定されたユーザーID /パスワードを使用してTHESERVERに接続できます。 ADO.Netアプリからの接続が失敗し、SSMSからの同じ資格情報で成功するのはなぜですか?

6
XMLシリアル化のためのStringWriterの使用
現在、オブジェクトをシリアル化する簡単な方法を探しています(C#3)。 私はいくつかの例をググって、次のようなものを思いつきました: MemoryStream memoryStream = new MemoryStream ( ); XmlSerializer xs = new XmlSerializer ( typeof ( MyObject) ); XmlTextWriter xmlTextWriter = new XmlTextWriter ( memoryStream, Encoding.UTF8 ); xs.Serialize ( xmlTextWriter, myObject); string result = Encoding.UTF8.GetString(memoryStream .ToArray()); この質問を読んだ後、私は自分自身に質問しましたが、なぜStringWriterを使用しないのですか?はるかに簡単なようです。 XmlSerializer ser = new XmlSerializer(typeof(MyObject)); StringWriter writer = new StringWriter(); ser.Serialize(writer, myObject); …

3
オブジェクトへの未解決の参照[INFORMATION_SCHEMA]。[TABLES]
[INFORMATION_SCHEMA].[TABLES]ビューにアクセスするUDFを作成しました。 CREATE FUNCTION [dbo].[CountTables] ( @name sysname ) RETURNS INT AS BEGIN RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name ); END Visual Studio内では、ビューのスキーマと名前の両方に警告が表示されます。 SQL71502:関数:[dbo]。[CountTables]には、オブジェクト[INFORMATION_SCHEMA]。[TABLES]への未解決の参照があります。 データベースプロジェクトは問題なく公開できますが、UDFは正しく実行されているようです。IntelliSenseがビューの名前を入力してくれるので、問題はないようです。 sys.objectsこのビューの代わりに使用する実装も変更しようとしましたが、このビューにも同じ警告が表示されました。 この警告を解決するにはどうすればよいですか?



12
エラー:「INSERT EXECステートメントはネストできません。」および「INSERT-EXECステートメント内でROLLBACKステートメントを使用することはできません。」これを解決するには?
3つのストアドプロシージャSp1がSp2ありSp3ます。 最初の(Sp1)は2番目の()を実行してSp2返されたデータを保存@tempTB1し、2番目は3番目の(Sp3)を実行してデータを保存します@tempTB2。 実行するSp2と機能し、からすべてのデータが返されますSp3が、に問題がありSp1ます。実行すると、次のエラーが表示されます。 INSERT EXECステートメントはネストできません の場所を変更しようとすると、execute Sp2別のエラーが表示されます。 INSERT-EXECステートメント内でROLLBACKステートメントを使用することはできません。


7
複数の列で重複を見つけるにはどうすればよいですか?
だから私はこのSQLコードのようなことをしたい: select s.id, s.name,s.city from stuff s group by s.name having count(where city and name are identical) > 1 以下を生成するには(ただし、名前のみまたは都市のみが一致する場所は無視し、両方の列にある必要があります): id name city 904834 jim London 904835 jim London 90145 Fred Paris 90132 Fred Paris 90133 Fred Paris

16
SQLステートメントのフィールドから先行ゼロを削除する
SQLServerデータベースから読み取り、抽出ファイルを生成するSQLクエリに取り組んでいます。単純なVARCHAR(10)フィールドである特定のフィールドから先行ゼロを削除するための要件の1つ。したがって、たとえば、フィールドに「00001A」が含まれている場合、SELECTステートメントはデータを「1A」として返す必要があります。 この方法で先行ゼロを簡単に削除する方法はSQLにありますか?RTRIM関数があることは知っていますが、これはスペースを削除するだけのようです。
98 sql  sql-server  tsql 

18
週番号から週の開始日と終了日を取得する
データベースにメンバーの結婚式の日付をカウントするクエリがあります。 SELECT SUM(NumberOfBrides) AS [Wedding Count] , DATEPART( wk, WeddingDate) AS [Week Number] , DATEPART( year, WeddingDate) AS [Year] FROM MemberWeddingDates GROUP BY DATEPART(year, WeddingDate), DATEPART(wk, WeddingDate) ORDER BY SUM(NumberOfBrides) DESC 毎週の初めと終わりが結果セットに含まれる場合、どのように計算しますか? SELECT SUM(NumberOfBrides) AS [Wedding Count] , DATEPART(wk, WeddingDate) AS [Week Number] , DATEPART(year, WeddingDate) AS [Year] , ??? …

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