innoya の回答履歴
- 半角全角混在文字列の空白埋めについて
現在SQLServer2000のデータを固定長で出力したいと考えています。 項目ごとに固定長にして、カンマ区切りにします。 既定の長さに達しない場合は、それぞれ半角空白で埋めます。 しかしいくつかの項目では、半角と全角が混在しており、うまく想定した形になりません。 項目はnvarchar型です。 SELECT文だけで行う方法を教えて下さい。 よろしくお願いいたします。 例 A(2桁) B(20桁) C(20桁) 01 H25/4 入金 確認済み 02 電話済み 〒123-4567
- 締切済み
- nrblue
- SQL Server
- 回答数3
- SQLServerバックアップ戻せない
SQL Server2012 Expressで作成したデータベースをUSBメモリにバックアップしました。 最近、マシントラブルでドライブが死んだので、SQL Serverも入れ直し、データベースをリストアしようとしましたが、うまくできません。 具体的には、データベースを右クリックして「タスク」→「復元」→「データベース」として、デバイスを選ぼうとすると、バックアップファイルの拡張子がbakとtrnとなっており、USBメモリに記録されているmdfとldfではありません。 すべてのファイルを表示させ、それらを選択しても、データベースの復元ダイアログのOKボタンがグレーアウトのままです。 「タスク」→「復元」→「ファイルおよびファイルグループ」なのかな?と思って、やってみてもやはり、拡張子が違います。 同じようにmdfとldfを選択してみると、 「デバイス'データベース名.mdf'のメディアファミリが正しい形式ではありません」 「RESTORE HEADERONLYが異常終了しています。(エラー:3241)」 とのダイアログが出て復元できません。 私はバックアップを失敗したのでしょうか? 何とか、一部のデータでも復元できないでしょうか? よろしくお願いいたします。
- ベストアンサー
- TaketsuruOishi
- SQL Server
- 回答数3
- SQLで文字列を時刻に型変換する方法
SQLで文字列を時刻に型変換する方法を教えていただきたいです。 char型のAというカラムに'090000'が格納されています。 この値を time型のBというカラムに型変換して登録したいのですが、 cast(A as time) としてもエラーが出てしまうので、現在は cast(SubString(A,1,2)+':'+SubString(A,3,2)+':'+SubString(A,5,2) as time) と変換しています。 もっと簡単に変換する方法はありますでしょうか? ご教示頂けましたら、助かります。 宜しくお願い致します。
- ベストアンサー
- yuppy326
- SQL Server
- 回答数1
- サブクエリの書き方
受注T ---------------- 製品CD 得意先CD 数量 単価 受注日 0001 2001 500 3000 2013/7/5 0002 2002 1000 NULL 2013/9/25 0003 2003 1800 NULL 2013/9/25 単価M ---------------- 製品CD 得意先CD 数量FROM 数量TO 単価 適用日 0001 2001 0 99999 3000 2013/5/1 0002 2002 0 500 800 2013/5/1 0002 2002 501 999999 500 2013/5/1 0003 2003 0 500 2000 2013/1/1 0003 2003 501 999999 1800 2013/1/1 0003 2003 0 500 2500 2013/9/20 というデータがあります。 受注Tの単価部分にデータがあるものとないものがあります。 受注時に単価Mから照合して単価を入れるのですが、受注時にまだ単価Mにない場合はNULLが 入っています。 そこで後日VIEWとして単価照合Vを作りたいです。 単価照合Vを作ったときにも単価MになければNULLのままでOKです。 て単価照合V ---------------- 製品CD 得意先CD 数量 単価 受注日 0001 2001 500 3000 2013/9/27 0002 2002 1000 500 2013/9/25 0003 2003 2000 1800 2013/9/25 ※2013/9/20に単価更新がありますが条件数量は0-500なので2013/1/1が適用 こんな感じです。 わからないのは受注数量、受注日と単価Mの照合です。 サブクエリを使えばSQLで1行に書けるのでしょうか? お願いします。
- ベストアンサー
- 5S6
- SQL Server
- 回答数4
- サブクエリの書き方
受注T ---------------- 製品CD 得意先CD 数量 単価 受注日 0001 2001 500 3000 2013/7/5 0002 2002 1000 NULL 2013/9/25 0003 2003 1800 NULL 2013/9/25 単価M ---------------- 製品CD 得意先CD 数量FROM 数量TO 単価 適用日 0001 2001 0 99999 3000 2013/5/1 0002 2002 0 500 800 2013/5/1 0002 2002 501 999999 500 2013/5/1 0003 2003 0 500 2000 2013/1/1 0003 2003 501 999999 1800 2013/1/1 0003 2003 0 500 2500 2013/9/20 というデータがあります。 受注Tの単価部分にデータがあるものとないものがあります。 受注時に単価Mから照合して単価を入れるのですが、受注時にまだ単価Mにない場合はNULLが 入っています。 そこで後日VIEWとして単価照合Vを作りたいです。 単価照合Vを作ったときにも単価MになければNULLのままでOKです。 て単価照合V ---------------- 製品CD 得意先CD 数量 単価 受注日 0001 2001 500 3000 2013/9/27 0002 2002 1000 500 2013/9/25 0003 2003 2000 1800 2013/9/25 ※2013/9/20に単価更新がありますが条件数量は0-500なので2013/1/1が適用 こんな感じです。 わからないのは受注数量、受注日と単価Mの照合です。 サブクエリを使えばSQLで1行に書けるのでしょうか? お願いします。
- ベストアンサー
- 5S6
- SQL Server
- 回答数4
- SQLのテーブルにないデータの出力
SQLのSelect文である期間を日別に出力したいのですが、どのようにすればいいのでしょうか テーブルのデータは期間全部が入っているのではなく。 データが存在しない日もあります。 データが存在しない日は日にちをのぞいて空白になるようにしたいです。 例として、 テーブル上のデータ 2013-08-01 ああああ 2013-08-03 いいいい 2013-08-06 うううう 出力したいデータ 期間2013-08-01~2013-08-10 2013-08-01 ああああ 2013-08-02 2013-08-03 いいいい 2013-08-04 2013-08-05 2013-08-06 うううう 2013-08-07 2013-08-08 2013-08-09 2013-08-10 上記のような形で出力したいのですが、 どのようにすればいいのでしょうか http://bitstar.jp/blog/?p=2468 のように別のテーブルを用意する以外のやり方でお願いします。 よろしくお願いいたします。
- ベストアンサー
- kouma0424
- SQL Server
- 回答数5
- SQL文の書き方について
SQL初心者です。 教えてください。 A表とB表があります。 A表の伝票Noの列の値とB表の伝票Noの列の値はイコールです。 判定はB表のある別のカラム(sample)と変数Zに格納されている値がイコールという 条件で合致するA表のデータを抽出したいです。 LEFT JOINもしくはINNER JOINなどを使って書けば良いのでしょうか? 例えば SELECT * from A表 INNERJOIN B表 on A表.伝票No = B表.伝票No where B表.sample = 変数Z などと書けば良いのでしょうか?
- ベストアンサー
- ymoshimoshi
- SQL Server
- 回答数1
- SQLサーバのデータベース名表示について
SQLサーバ初心者です。 わからないことがあり、ご存知の方いらっしゃいましたらご教示ください。 SQLサーバ2008 を使用しています。 SQLサーバのデータベース名の一覧を取得する方法として、 sys.databasesをselectしたり、sp_databasesを使用してDB名を取得できることは確認できたのですが、 master/msdbなどのシステムデータベース以外の自分で作成したユーザーデータベースのみリストする方法があればご教示いただけないでしょうか?
- ベストアンサー
- zidane582003
- SQL Server
- 回答数1
- SQLserver テーブルのIDENTITY列
教えてください。 MSSQLサーバーのテーブルで最新でInsertした直後に、そのレコードを削除して、 再度Insertした時のIDENTITY列の値はその前にInsertした時に使用された値が 再度使われるのでしょうか? それとも、一度使われた値は次回以降使わないのでしょうか? SQLサーバの管理画面にどちらかを選択できる設定があるのでしょうか? よろしくお願いします。
- ベストアンサー
- ymoshimoshi
- SQL Server
- 回答数1
- 1
- 2