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

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



9
T-SQLで日時を文字列に変換する方法
この質問をここで見つけることができなかったことに驚いています。 日付時刻変数があり、それを文字列に変換して、別の文字列に追加できるようにしたいと考えています。簡単に日時に変換できる形式にしたい。 これどうやってするの? (日付部分と時間部分が必要です。)
89 sql-server  tsql 

7
SQL Serverの「テキスト」データ型のWHERE句
[CastleType]はSQL Serverでデータ型「テキスト」として設定されており、クエリは次のとおりです。 SELECT * FROM [Village] WHERE [CastleType] = 'foo' エラーが発生します: データ型TEXTとVARCHARは、等号演算子では互換性がありません。 このデータ型をWHERE句でクエリできませんか?

2
UPDLOCK、HOLDLOCKについて混乱している
テーブルヒントの使用法を調査しているときに、次の2つの質問に遭遇しました。 どのロックヒントを使用する必要がありますか(T-SQL)? HOLDLOCKはUPDLOCKにどのような影響を及ぼしますか? 両方の質問への回答は、を使用すると(UPDLOCK, HOLDLOCK)、他のプロセスがそのテーブルのデータを読み取ることができないと言っていますが、私はこれを見ませんでした。テストするために、テーブルを作成し、2つのSSMSウィンドウを起動しました。最初のウィンドウから、さまざまなテーブルヒントを使用してテーブルから選択したトランザクションを実行しました。トランザクションの実行中に、2番目のウィンドウからさまざまなステートメントを実行して、どれがブロックされるかを確認しました。 テストテーブル: CREATE TABLE [dbo].[Test]( [ID] [int] IDENTITY(1,1) NOT NULL, [Value] [nvarchar](50) NULL, CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] SSMSウィンドウ1から: BEGIN TRANSACTION SELECT …



6
プレーンADOを使用してSQLServerからビュー定義を取得する方法はありますか?
OpenSchema()さまざまなインカネーションでADOConnection呼び出しを使用して、SQLサーバーでホストされているデータベースから列定義を正常に抽出しているので、それらのテーブルを別のSQLデータベースにプログラムで再作成できます。ここまでは順調ですね。 上記のテーブルとの主な相互作用は、複数のビューを使用して行われます。一方でOpenSchema()、それは表の列定義を返すのと同じ方法でビューの列定義を返すことができる、情報の重要なビットが欠落している-ビュー内の列がマップ基本となるテーブルのどのテーブルと列。 ADOXカタログビューを使用してビューを作成するために使用されるSQLコマンドにアクセスしようとしましたが、使用しているSQLServerのOLEDBドライバーがこの機能をサポートしていないようです。 「ColumnXはテーブルZのColumnYにマップされます」という方法で、またはビューの作成に使用される実際のSQLコマンドの形式で、ADOを介してビュー構成のこの情報を取得する方法はありますか?
89 sql-server  view  ado 


7
T-SQL:既知の値の配列をループする
これが私のシナリオです: 特定のIDのセットで別のストアドプロシージャを呼び出す必要があるストアドプロシージャがあるとします。これを行う方法はありますか? つまり、これを行う必要がある代わりに: exec p_MyInnerProcedure 4 exec p_MyInnerProcedure 7 exec p_MyInnerProcedure 12 exec p_MyInnerProcedure 22 exec p_MyInnerProcedure 19 このようなことをする: *magic where I specify my list contains 4,7,12,22,19* DECLARE my_cursor CURSOR FAST_FORWARD FOR *magic select* OPEN my_cursor FETCH NEXT FROM my_cursor INTO @MyId WHILE @@FETCH_STATUS = 0 BEGIN exec p_MyInnerProcedure @MyId …
89 sql  sql-server  tsql 

17
現在使用中のため、データベースを削除できません
データベースを削除したい。私は次のコードを使用しましたが、役に立ちませんでした。 public void DropDataBase(string DBName,SqlConnection scon) { try { SqlConnection.ClearAllPools(); SqlCommand cmd = new SqlCommand("ALTER DATABASE " + DBName + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE", scon); cmd.CommandType = CommandType.Text; scon.Open(); cmd.ExecuteNonQuery(); scon.Close(); SqlCommand cmddrpdb = new SqlCommand("drop database " + DBName + "", scon); cmddrpdb.CommandType = CommandType.Text; scon.Open(); cmddrpdb.ExecuteNonQuery(); …
89 c#  asp.net  sql-server 

6
Exists 1またはExists *を使用したサブクエリ
以前は、次のようにEXISTSチェックを記述していました。 IF EXISTS (SELECT * FROM TABLE WHERE Columns=@Filters) BEGIN UPDATE TABLE SET ColumnsX=ValuesX WHERE Where Columns=@Filters END 前世のDBAの1人が、EXISTS節を実行するときは、SELECT 1代わりにSELECT * IF EXISTS (SELECT 1 FROM TABLE WHERE Columns=@Filters) BEGIN UPDATE TABLE SET ColumnsX=ValuesX WHERE Columns=@Filters END これは本当に違いがありますか?
88 sql  sql-server  tsql 

12
関数とストアドプロシージャ
結果としてテーブルを返す必要があるT-SQLコードを実装する必要があるとしましょう。テーブル値関数または行のセットを返すストアドプロシージャを実装できます。何を使うべきですか? 要するに、私が知りたいのは: 関数とストアドプロシージャの主な違いは何ですか?どちらか一方を使用する場合、どのような考慮事項を考慮する必要がありますか?

2
varchar(max)変数の最大サイズ
過去のいつでも、誰かにの最大サイズを尋ねられたら、varchar(max)2GBと言ったか、より正確な数値(2 ^ 31-1、または2147483647)を調べたでしょう。 ただし、最近のいくつかのテストで、varchar(max)変数が明らかにこのサイズを超える可能性があることがわかりました。 create table T ( Val1 varchar(max) not null ) go declare @KMsg varchar(max) = REPLICATE('a',1024); declare @MMsg varchar(max) = REPLICATE(@KMsg,1024); declare @GMsg varchar(max) = REPLICATE(@MMsg,1024); declare @GGMMsg varchar(max) = @GMsg + @GMsg + @MMsg; select LEN(@GGMMsg) insert into T(Val1) select @GGMMsg select LEN(Val1) from T 結果: …
88 sql-server  tsql 

6
2点間の距離の計算(緯度、経度)
地図上の2つの位置間の距離を計算しようとしています。私はデータに保存しました:経度、緯度、X POS、Y POS。 以前は以下のスニペットを使用しています。 DECLARE @orig_lat DECIMAL DECLARE @orig_lng DECIMAL SET @orig_lat=53.381538 set @orig_lng=-1.463526 SELECT *, 3956 * 2 * ASIN( SQRT( POWER(SIN((@orig_lat - abs(dest.Latitude)) * pi()/180 / 2), 2) + COS(@orig_lng * pi()/180 ) * COS(abs(dest.Latitude) * pi()/180) * POWER(SIN((@orig_lng - dest.Longitude) * pi()/180 / 2), 2) )) AS …

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