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

構造化照会言語(SQL)は、データベースを照会するための言語です。質問には、コード例、テーブル構造、サンプルデータ、使用するDBMS実装(MySQL、PostgreSQL、Oracle、MS SQL Server、IBM DB2など)のタグを含める必要があります。質問が特定のDBMSにのみ関連している場合(特定の拡張機能を使用)、代わりにそのDBMSのタグを使用してください。SQLでタグ付けされた質問への回答には、ISO / IEC標準SQLを使用する必要があります。

10
Microsoft SQL Server 2005でgroup_concat MySQL関数をシミュレートしますか?
MySQLベースのアプリをMicrosoft SQL Server 2005に移行しようとしています(選択ではありませんが、それは人生です)。 元のアプリでは、ほぼ完全にANSI-SQL準拠のステートメントを使用しましたが、1つの重要な例外があります。MySQLのgroup_concat関数をかなり頻繁に使用しました。 group_concatところで、これを行います。たとえば、従業員の名前とプロジェクトのテーブルが与えられた場合... SELECT empName, projID FROM project_members; 戻り値: ANDY | A100 ANDY | B391 ANDY | X010 TOM | A100 TOM | A510 ...そして、これがgroup_concatで得られるものです: SELECT empName, group_concat(projID SEPARATOR ' / ') FROM project_members GROUP BY empName; 戻り値: ANDY | A100 / B391 / X010 TOM | …



12
DDLとDMLとは何ですか?
データベースに関してDDLおよびDMLという用語を聞いたことがありますが、それらが何であるかわかりません。 それらは何であり、SQLとどのように関連していますか?
345 sql  ddl  dml 

12
ランダムな行を選択する最良の方法PostgreSQL
PostgreSQLで行をランダムに選択したいので、これを試しました: select * from table where random() < 0.01; しかし、他の人はこれをお勧めします: select * from table order by random() limit 1000; 5億行の非常に大きなテーブルがあるので、高速にしたい。 どちらのアプローチが良いですか?違いは何ですか?ランダムな行を選択する最良の方法は何ですか?

15
Oracle:テーブルが存在する場合
私はOracleデータベース用の移行スクリプトをいくつか書いていて、OracleがMySQLのIF EXISTS構成に似ていることを望んでいました。 具体的には、MySQLにテーブルをドロップするときはいつでも、次のようにします DROP TABLE IF EXISTS `table_name`; この方法では、テーブルが存在しない場合でも、DROPエラーは発生せず、スクリプトを続行できます。 Oracleにも同様のメカニズムがありますか?次のクエリを使用して、テーブルが存在するかどうかを確認できることに気付きました SELECT * FROM dba_tables where table_name = 'table_name'; しかし、それをa DROPと結び付ける構文は、私から逃れています。
343 sql  oracle  sql-drop 



5
INTをVARCHAR SQLに変換する
私はSybaseを使用していて、「iftype」という列を返す選択を行っていますが、その型はintであり、varcharに変換する必要があります。変換機能なしで選択しようとすると、次のエラーが発生します。 エラーコード257、SQL状態37000:データ型 'VARCHAR'から 'INT'への暗黙的な変換は許可されていません。このクエリを実行するには、CONVERT関数を使用します。 関数の実装方法がわかりませんCONVERT。誰か助けてもらえますか?

15
SET NOCOUNT ONの使用法
SET NOCOUNTについて異なる見解があるこの質問に触発されて ... SQL ServerにはSET NOCOUNT ONを使用する必要がありますか?そうでない場合、なぜそうではないのですか? 何それがない 2011年7月22日に、編集6 DMLの後に「影響を受けるxx行」メッセージを抑制します。これは結果セットであり、送信時にクライアントはそれを処理する必要があります。小さいですが、測定可能です(以下の回答を参照) トリガーなどの場合、クライアントは複数の「影響を受けるxx行」を受け取ります。これにより、一部のORM、MS Access、JPAなどであらゆる種類のエラーが発生します(以下の編集を参照)。 バックグラウンド: 一般的に受け入れられているベストプラクティス(この質問までは考えていました)はSET NOCOUNT ON、SQL Serverのトリガーとストアドプロシージャで使用することです。私たちはどこでもそれを使用し、簡単なグーグルは多くのSQL Server MVPも同意することを示しています。 MSDNは、これが.net SQLDataAdapterを破壊する可能性があると述べています。 これは、SQLDataAdapterが「影響を受ける行数n」のメッセージが一致することを期待しているため、まったく単純なCRUD処理に限定されていることを意味します。だから、私は使用できません: 重複を避けるために存在する場合(行はメッセージに影響しません)注:注意して使用してください 存在しない場所(予想される行が少ない場合) ささいな更新を除外する(たとえば、実際に変更されるデータはない) 前にテーブルへのアクセスを行う(ロギングなど) 複雑さや正規化を隠す 等 marc_s(彼のSQLを知っている人)の質問では、これを使用しないでください。これは私が思うこととは異なります(私もSQLである程度有能であると私は考えています)。 何か不足している可能性があります(明らかなことを自由に指摘してください)が、そこにいる人々はどう思いますか? 注:SQLDataAdapterを最近使用していないため、このエラーが発生してから数年が経ちました。 コメントと質問の後の編集: 編集:その他の考え... 複数のクライアントがあります。1つはC#SQLDataAdaptorを使用し、もう1つはJavaのnHibernateを使用します。これらは、によってさまざまな方法で影響を受ける可能性がありますSET NOCOUNT ON。 ストアドプロシージャをメソッドと見なす場合、内部処理の一部が独自の目的で特定の方法で機能すると想定することは不適切な形式(アンチパターン)です。 編集2:nHibernateの質問を破るトリガー、SET NOCOUNT ON設定できない場所 (そして、それはこれの複製ではありません) 編集3:私のMVPの同僚のおかげで、さらに詳しい情報 KB 240882、SQL 2000以前で切断を引き起こす問題 パフォーマンス向上のデモ 編集4:2011年5月13日 指定されていない場合、Linq 2 SQLも壊れますか? …

11
列内の個別の値の数を見つけるSQL
次の方法で、列内のすべての個別の値を選択できます。 SELECT DISTINCT column_name FROM table_name; SELECT column_name FROM table_name GROUP BY column_name; しかし、そのクエリから行数を取得するにはどうすればよいですか?サブクエリは必要ですか?
340 sql  distinct 

24
SQLに「LIKE」と「IN」の組み合わせはありますか?
OverаэтотвопросестьответынаStack Overflowнарусском:СуществуетликомбинацияоператоровLIKEиINвуслории SQLでは、(悲しいことに)LIKEデータベースが正規化のほぼすべての規則に違反しているため、「」条件を使用する必要があります。今は変更できません。しかし、それは問題とは無関係です。 さらに、WHERE something in (1,1,2,3,5,8,13,21)SQLステートメントの可読性と柔軟性を向上させるような条件をよく使用します。 複雑な副選択を書かずにこれら2つを組み合わせるための可能な方法はありますか? WHERE something LIKE ('bla%', '%foo%', 'batz%')これの代わりに簡単なものが欲しい: WHERE something LIKE 'bla%' OR something LIKE '%foo%' OR something LIKE 'batz%' ここではSQl ServerとOracleを使用していますが、どのRDBMSでもこれが可能かどうか興味があります。
340 sql  sql-server  oracle  tsql  plsql 



17
Entity Frameworkを使用してSQL Serverデータベースへの変更を保存中に、1つ以上のエンティティの検証が失敗しました
編集をデータベースに保存したいのですが、ASP.NET MVC 3 / C#でEntity FrameWork Code-Firstを使用していますが、エラーが発生します。私のイベントクラスでは、DateTimeデータ型とTimeSpanデータ型がありますが、データベースでは、それぞれDateとTimeがあります。これが理由でしょうか?変更をデータベースに保存する前に、コードで適切なデータ型にキャストするにはどうすればよいですか。 public class Event { public int EventId { get; set; } public int CategoryId { get; set; } public int PlaceId { get; set; } public string Title { get; set; } public decimal Price { get; set; } public DateTime EventDate { …

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