innoya の回答履歴

全29件中21~29件表示
  • 半角全角混在文字列の空白埋めについて

    現在SQLServer2000のデータを固定長で出力したいと考えています。 項目ごとに固定長にして、カンマ区切りにします。 既定の長さに達しない場合は、それぞれ半角空白で埋めます。 しかしいくつかの項目では、半角と全角が混在しており、うまく想定した形になりません。 項目はnvarchar型です。 SELECT文だけで行う方法を教えて下さい。 よろしくお願いいたします。 例 A(2桁)  B(20桁)    C(20桁) 01    H25/4 入金  確認済み 02    電話済み   〒123-4567

  • SQLServerバックアップ戻せない

    SQL Server2012 Expressで作成したデータベースをUSBメモリにバックアップしました。 最近、マシントラブルでドライブが死んだので、SQL Serverも入れ直し、データベースをリストアしようとしましたが、うまくできません。 具体的には、データベースを右クリックして「タスク」→「復元」→「データベース」として、デバイスを選ぼうとすると、バックアップファイルの拡張子がbakとtrnとなっており、USBメモリに記録されているmdfとldfではありません。 すべてのファイルを表示させ、それらを選択しても、データベースの復元ダイアログのOKボタンがグレーアウトのままです。 「タスク」→「復元」→「ファイルおよびファイルグループ」なのかな?と思って、やってみてもやはり、拡張子が違います。 同じようにmdfとldfを選択してみると、 「デバイス'データベース名.mdf'のメディアファミリが正しい形式ではありません」 「RESTORE HEADERONLYが異常終了しています。(エラー:3241)」 とのダイアログが出て復元できません。 私はバックアップを失敗したのでしょうか? 何とか、一部のデータでも復元できないでしょうか? よろしくお願いいたします。

  • 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) と変換しています。 もっと簡単に変換する方法はありますでしょうか? ご教示頂けましたら、助かります。 宜しくお願い致します。

  • サブクエリの書き方

    受注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 のように別のテーブルを用意する以外のやり方でお願いします。 よろしくお願いいたします。

  • 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 などと書けば良いのでしょうか?

  • SQLサーバのデータベース名表示について

    SQLサーバ初心者です。 わからないことがあり、ご存知の方いらっしゃいましたらご教示ください。 SQLサーバ2008 を使用しています。 SQLサーバのデータベース名の一覧を取得する方法として、 sys.databasesをselectしたり、sp_databasesを使用してDB名を取得できることは確認できたのですが、 master/msdbなどのシステムデータベース以外の自分で作成したユーザーデータベースのみリストする方法があればご教示いただけないでしょうか?

  • SQLserver テーブルのIDENTITY列

    教えてください。 MSSQLサーバーのテーブルで最新でInsertした直後に、そのレコードを削除して、 再度Insertした時のIDENTITY列の値はその前にInsertした時に使用された値が 再度使われるのでしょうか? それとも、一度使われた値は次回以降使わないのでしょうか? SQLサーバの管理画面にどちらかを選択できる設定があるのでしょうか? よろしくお願いします。