sqlserver2005

文字列のカラム(ただし数字のみ)と、画面から文字列としてきた
数字の大小を比較したいと思っています。

たとえば、WHERE ~ 【対象カラム】 > CONVERT(NUMERIC,'1')のように
しようと思っていたのですが、この場合、【対象カラム】の中に
空白があるとこけてしまいます。
文字列なので、空がNULLとは限らないため困っています。
そもそもINT型のカラムならば良いのですが、都合により文字列の
カラムにするしかなく。

妙案ありましたらアドバイスいただけないでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ちょっとまわりくどいですが


CASE NUMERIC = '' WHEN THEN 0 ELSE CONVERT(NUMERIC,'1') END
と空白NULLチェックすればコケはしないです。
ただし、文字の比較なら思った結果は得られません。
No1の方の指摘どおりになるでしょう

それよりはゼロフィルした値と比較したほうが楽ではないでしょうか?

SUBSTRING('0000000000' + 【対象カラム】 , LEN(【対象カラム】) , 10) > SUBSTRING('0000000000' + NUMERIC , LEN(NUMERIC) , 10);

パフォーマンス無視なので、レコード数が少ないならこれでも大丈夫ですが、
    • good
    • 0

解決策ではないんですが。


> 空がNULLとは限らないため困っています。
isnull([列名], ' ')
を利用するとか。

> 都合により文字列のカラムにするしかなく。
文字列で比較は、順序がおかしくなりませんか?

1~20を数字の文字列にすると
'1'
'11'
'12'
'13'
'14'
'15'
'16'
'17'
'18'
'19'
'2'
'20'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
じゃないですか?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCPUのCore i7/i5の番号について

CPUのCore i7/i5の番号について

Core i7では900番台と800番台がありますよね
Core i5でも700番台と600番台がありますよね
(他にもあったら付け足してください)

それでその違いについて詳しく知りたいというのが今回の質問の本題です
色々なところを廻っても詳しく説明が書かれているところがなくて
いったいどれがいいのか分からないのです

厳密にどこがどう違うというような詳しい情報を知ってる方はいらっしゃらないでしょうか

例としてCore i7 870と Core i7 950のような感じで近いものを比較して
どちらがどう違うというようなことを聞きたいのです

分かる範囲でいいので回答をお待ちしています

Aベストアンサー

i7 に限れば、900番台と800番台ではけっこう大きな差があります。

900番台専用のX58マザーではメモリがトリプルチャネルアクセスとなるほか、ATI-CrossFireやnVIDIA-SLIにフルレーンで対応しています。
PCI-E×16ソケットが3本分用意されていることから、仕様上では3WAY-SLI(16+16+4レーンに振り分け)まで可能です。

一方の800番台とi7以下向けのマザーでは、デュアルチャネル、PCI-Eは16レーンまで(SLI接続時は8+8となる)といったチップセット上の制約があります。

i5では、クアッドコアのHTなしTBありの700、デュアルコアでHTありTBありの600に分かれます。(いずれも4スレッド)
i3ではデュアルコア、HTありの4スレッド、TBは無効化されています。

ランクで並べるとこうなります。
i7-980X EE>i7-970(6コアの廉価版??未発売)>i7-900(ここまでがLGA1366)>i7-800(これより以下LGA1156)>i5-700>i5-600>i3-500>Pentium G6950>Celleron P4500(未発売)

HT…Hyper-Threading Technology
TB…Intel Turbo Boost Technology
EE…Extreme Edition

i7 に限れば、900番台と800番台ではけっこう大きな差があります。

900番台専用のX58マザーではメモリがトリプルチャネルアクセスとなるほか、ATI-CrossFireやnVIDIA-SLIにフルレーンで対応しています。
PCI-E×16ソケットが3本分用意されていることから、仕様上では3WAY-SLI(16+16+4レーンに振り分け)まで可能です。

一方の800番台とi7以下向けのマザーでは、デュアルチャネル、PCI-Eは16レーンまで(SLI接続時は8+8となる)といったチップセット上の制約があります。

i5では、クアッドコアのHTなしTBありの70...続きを読む

QVB2005からSQLServer2005への接続

VB2005とSQLServer2005のどちらも製品版をインストールしました。

VB2005よりサーバエクスプローラから接続の追加により自分で作成したテーブルに接続を試みたところ、
以下のようなエラーが発生し接続できません。

(エラー内容)サーバーへの接続を確立しているときにエラーが発生しました。SQL Server2005に接続しているときにこのエラーが発生した場合は、SQL Serverの既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。(provider:共有メモリ プロバイダ,error:40-SQL Serverへの接続を開けませんでした)

なにかSQLServer側の設定を変更しないと接続できないのでしょうか?
どなたかアドバイスお願いします<(_ _)>

Aベストアンサー

セキュリティの構成はどのようになっていますか?
セキュリティの設定でリモートアクセス検疫サービス等の設定がされているとリモート接続を許可しないようにする機能もあるのでSQLServerの設定を確認してみてください。

ちなみにVBからどのように接続しているのでしょうか?
SQLServerへの接続の確立は
Dim cnn As New ADODB.Connection
   ・
'接続を確立する
cnn.Open "Provider=SQLOLEDB;" & _
"Data Source=(local);" & _
"Initial Catalog=×××;", "××", ""
こんな感じですか?

QCPUのi5とi7の能力差はどのくらい?

私はWin7はCPUがi5でTV機能付き、Win8.1もi5で普通機能で使っています。

i7というのを使ったことがありませんが、i5とi7の機能差はどのくらいですか?

今度もしWin10のPCを買うときの参考にしたいと思います。

Aベストアンサー

HTTの有る無し

QSQLServer2005で文字列の時刻の合計を出す方法はありますか?

SQLServer2005で以下のテーブルがあります。
[Day] [Time]
  1  1:30
  1  2:00
  2  4:45
  3  2:30
  3  1:45
Dayフィールド、Timeフィールドは共にvarchar2です。
(Timeには"1:30"の文字列が入っています)

このテーブルを読み込むとき、各日ごとの合計を計算して出力するSQL文がわかりません。
■■ 出力イメージ ■■
Day Time
  1 3:30
  2 4:45
  3 4:15

DateAdd関数やMAX関数等を使って考えましたが実現できませんでした。
こういう処理をSQL文でおこなうことは可能でしょうか?
もし実現可能な場合、方法やだいたいのやり方でも結構ですのでご教示いただけませんでしょうか?

TimeフィールドがDatetime型から可能でしょうか?
それとも、プロシージャや読み込んでから別途計算しなおさないと無理でしょうか?

よろしくお願いします。

Aベストアンサー

>Dayフィールド、Timeフィールドは共にvarchar2です。

SQL Server 2005を使用しているのですよね?
varchar2は、「Oracle独自のデータ型」と認識していますが?

時刻をvarcharで管理するメリットって、思い浮かばないのですが?

SQL例を提示しておきますので、何をやっているかは自分なりに調べてみてください。

select
[day],
sum(datepart(hh,[time]))
+floor(sum(datepart(mi,[time]))/60) as hh,
sum(datepart(mi,[time]))%60 as mm
from tbl1
group by [day]

QPCのCPU Core i7、i5、i3のHzについて

PCのCPU Core i7、i5、i3のHzについて

新しいCPUでCore i7 、i5 、i3の順で処理が早いですね。PCのメモリやHDDなど性能が同じとして下記の件について教えて下さい。)

1・・同じクラスに何種類あるかわかりませんが、Hz数が大きいほど処理が早いと思います。i3の最高のHz数のものとi5の最低のHz数のものとではどちらが処理が早いですか。

2・・同じようにi5の最高のHz数のものとi7の最低のHz数のものとではどうでしょうか。

3・・3種類とも最低のHz数と最高のHz数はいくつですか。

Aベストアンサー

気になったのでまた来ました。

性能比較は「CPU 性能比較」などでググってみるといくつかの比較表のサイトが出てきます。今日はこのページがトップに出てきました。
http://hardware-navi.com/cpu.php
この表の上から順に処理速度が速いと思えば、だいたい当たりです。使い方で前後いくつかが変化する可能性はありますが、素人的に気になる差ではないはず。

このリンクの表をみても分かりますが、i3とかi5に関係なく後ろ3桁の数字が大きいほど高性能です。ただし後ろにMやQMがついているモバイル用のCPUは省電力設定のため性能も落ちますから、同じ土俵で考えてはいけません。見ればわかりますが動作周波数は必ずしも数字が大きければいいというものではないことが分かります。900番台のなか、800番台のなか、700番台のなかでそれぞれ見れば、10の位は動作周波数の順で、大きい数値ほど周波数も高いです。

QSQLServer2000からSQLServer2005へのデータ移行

SQLServer2000からSQLServer2005へのデータ移行方法

Microsoft SQL Server ManagementStadio Expressで
SQLServer2000のバックアップファイルから、
ローカルの開発環境(SQL Server2005 Express)でデータベースを復元しようと試みましたところ、
復元が正常に出来ませんでした。

復元はエラーが発生せず完了しデータベースは作成されているのですが、
データベースを右クリックで削除やプロパティを見ることもできず、
どのようなテーブルが存在するのか中身の参照も追加も何もできない状態です。

http://qanda.rakuten.ne.jp/qa4183273.html
上記URLなどでSQL Server2000のバックアップから2005で復元しているような発言がされているので
可能だと思うのですが、何か特別な処理が必要なのでしょうか?

ご存じのかた、教えていただけますようお願いいたします。

Aベストアンサー

とくに特別な処理は必要ないはずです。
リストアは正常に行われたと書かれていますが、中身が見られないならば、それは正常に行われていないということかもしれません。

・sys.databasesのstate_descの内容がONLINEになっているか
・use データベース名
・そもそもsysadmin権限のあるユーザでリストアしたか
・バックアップファイルが正常か
あたりを確認してみるしかなさそうです。

Qゲームにはi7?i5?

ゲームをするには、i5とi7どちらが適切でしょうか?
候補はi7 860かi5 750です。
新しいiシリーズは買えません。高すぎです。
LGA1156Core iシリーズでダメならやりません。
やりたいゲームはグラセフです。
5000円以内ならグラボもおkです。

Aベストアンサー

>ゲームをするには、i5とi7どちらが適切でしょうか?
>候補はi7 860かi5 750です。

現時点で手元にあるパーツ次第かな。

すでにLGA1156のマザーが手元にある状態ならCore i5 750かな。
あとは、中古のGeForce GT630(実売4500円くらい)あたりでも搭載すればいい。
高画質設定は無理だけど、1440×900くらいまでの解像度で画質設定も調整すれば快適にプレイできるはず。

まだマザーを用意していないなら、LGA1155のマザーと中古のCore i3 2100あたりがおすすめ。
CPU性能的には若干劣りますが、前述のCore i5 750の時と同じく中古のGeForce GT630あたりを搭載しておけば、同じくらいか少し下げた程度の画質設定で快適にプレイできます。
しかも、マザーボードの世代が新しいため、後から大幅に性能向上させることも可能です。


>5000円以内ならグラボもおkです。

Core i5 700番台やCore i7 800番台を使う場合、グラボは必須ですよ。
この世代のCore iシリーズは、内蔵グラフィック搭載しているのは2コア版だけですからね。
Core i5 700番台やCore i7 800番台などの4コア版にはグラフィック機能は搭載されていないため、グラボが無いとパソコンとして使えません。

>ゲームをするには、i5とi7どちらが適切でしょうか?
>候補はi7 860かi5 750です。

現時点で手元にあるパーツ次第かな。

すでにLGA1156のマザーが手元にある状態ならCore i5 750かな。
あとは、中古のGeForce GT630(実売4500円くらい)あたりでも搭載すればいい。
高画質設定は無理だけど、1440×900くらいまでの解像度で画質設定も調整すれば快適にプレイできるはず。

まだマザーを用意していないなら、LGA1155のマザーと中古のCore i3 2100あたりがおすすめ。
CPU性能的には若干劣りますが、前述のCore i5 750...続きを読む

QSQLServer2005からSQLServer7.0へ接続した際の問題点

SQLServer2005からSQLServer7.0へ接続した際どのような障害(問題)
が起こるのかをインターネットで調べているのですが、
これといった情報がなく、困っています。
少しでもお分かりの方がいらっしゃいましたら、
情報を提供してください。よろしくお願いします。

Aベストアンサー

>SQLServer2005からSQLServer7.0へ接続
具体的に言うと?
(DBが7.0でクライアントが2005?)

QCORE I3、I5、I7の違い

CORE I3、I5、I7の違い
パソコンを購入する際にCORE I3、I5、I7とか記載されていますが、どのように違うでしょうか?

併せて、ノートをデスクトップとどちらの購入がお勧めなのでしょうか?
(自宅で使用します)

Aベストアンサー

Core i7 900(LGA1366)
Bloomfieldという種で、2008年11月より発売。
従来のCore 2 Quadが1つのCPUダイに2つのデュアルコアを内蔵した形態であったのに対し、純粋な4コアCPUとして開発された。
あわせて最適化が施されメモリコントローラを内蔵したほか、負荷レベルに応じて自動的にオーバークロック状態にするターボブースト(以下TB)機能や、Pentium4でおなじみのハイパースレッディング(以下HT)機能を備えることで4コア8スレッドを実現。
なかでもCore i7 900シリーズ中最低ランクだったCore i7 920は、当時主流だったCore 2 Quadの最上位モデルQ9650をパフォーマンスで圧倒し、かつ安価であったことから大いに注目を浴びた。
LGA1366と組み合わされるX58チップセットはハイエンドという位置づけであるが、そのゆえんは、3枚1組のDDR3メモリに対して同時にアクセスするトリプルチャンネルであることと、PCI-E×16を36レーン分サポートしていること。
これにより、X58シリーズのマザーボードの多くは6本分のメモリソケットを備え、4GBモジュールで埋めることで最大24GBのシステム構築を可能となっている。
グラフィックボード関連も、36レーンを活かしたnVIDIA-SLIやATI-CrossFireをサポートし、最大で3台をリンクさせる3-way SLI(16+16+4=36)などにも対応しているため、ゲームパフォーマンスを高めることもほかのソケットグループよりも比較的容易である。
なお、後発の980Xと970の両者はGulftownと呼ばれる種類であり、それぞれ6コア12スレッド、3次キャッシュ12MB、32nmプロセスで製造された新型で、Bloomfieldとは区別されるが、従来のX58シリーズのマザーボードのユーザーはBIOSを更新するだけでこれらCPUへのグレードアップが可能となっている。

Core i7 800(LGA1156)
4コア8スレッド、8MBの3次キャッシュを備える点は900と同じ。
後発のこれらLGA1156版のグループの大きな特徴は、TB時の倍率が引き上げられたこと。TDP値も130Wから95Wと引き下げられたので、消費電力も低い。
デュアルチャンネルに留まるものの、効率化がさらに進んだことで先述の920版を完全に上回る性能を発揮する。
また、従来870と860の2種構成だったものに880が加わったことで5万5千円ほどしていた870の価格が従来860と同レベルに改定された。半額近い値下がり幅となったことで今現在もっとも買い得度の高いCPUである。


Core i5 700(LGA1156)
4コア4スレッド、8MBの3次キャッシュ。
Core i7から、HTを無効化したCPUとお考えいただければ。

Core i5 600(LGA1156)
2コア4スレッド、4MBの3次キャッシュ、TBあり。
HTにより4スレッドを可能に。

Core i3 500(LGA1156)
2コア4スレッド、4MBの3次キャッシュ。
Core i5 600からTBを無効化したもの。

Pentium G (LGA1156)
2コア2スレッド、3MBの3次キャッシュ。
Core i3からさらにHTを無効化、3次キャッシュを減らしたシリーズ最廉価バージョン。

以上、デスクトップ向けCPUについて書いてみました。
パーツごとに経年による寿命や、規格の世代の進化などがありますから、個別に更新しながら使い続けられるデスクトップ(自作系BTOマシンに限る)のほうが、システム全般としては長持ちします。
ノートだったら、たとえば液晶のバックライトが切れただけで使い物にならなくなりますよね。
せっかく何万もかけて修理しても、中身の規格はいつまでも古いままですし…。
ノートはノートならではの利点もたしかにあるわけですが、ファーストマシンはデスクトップがいいと思います。

BTOならドスパラのパソコンが安くていいですね。
http://www.dospara.co.jp/5goods_pc/pc_bto.php?h=g&f=g&m=g&mc=1481&sn=203&vn=1&lf=0
これくらいの性能があれば、なにをするにも困りません。

Core i7 900(LGA1366)
Bloomfieldという種で、2008年11月より発売。
従来のCore 2 Quadが1つのCPUダイに2つのデュアルコアを内蔵した形態であったのに対し、純粋な4コアCPUとして開発された。
あわせて最適化が施されメモリコントローラを内蔵したほか、負荷レベルに応じて自動的にオーバークロック状態にするターボブースト(以下TB)機能や、Pentium4でおなじみのハイパースレッディング(以下HT)機能を備えることで4コア8スレッドを実現。
なかでもCore i7 900シリーズ中最低ランクだったCore i7 920は、当...続きを読む

QVB2005とSQLServer2005の開発

いつもご参考にさせて頂いております。

今回VB2005ProfessionalとSQLServer 2005Developer Editionでシステムを開発しようと考えております。PCはWin7Pro64bitです。

VB2005は少し経験があるのですが、SQL Serverを使用するのが初めてです。
以前はSQLServerの代わりにAccessをデータベースとして使用していました。

そこでご質問です。
SQLServerもAccessと同様にOracle10gと接続し、
出来たデータベースをサーバー又は端末にセットし、
数人が使用できるシステムを構築することは可能でしょうか?
実際プログラムを使用するPCはVista32bit or Win7 32bitです。
※システムはデータの取込、出力、新規作成、更新、削除等一通りの動作をします。

又、この様な構築に関して詳しく解説している本など参考(勉強)になるものがございましたら、是非教えてください。

SQLServerに関して素人なので、どなたかご教授宜しくお願い致します。

Aベストアンサー

・SQL Server の基本的な操作等については、マイクロソフトのサイトに「自習書」がありますので、
 そちらを参考にされたら良いかと思います。(参照URL)

・データベースさえできてしまえば、データの出し入れは Oracle とほとんど変わりないと思います。

ここで,疑問点ですが、
・SQL Server はOracleと別にサーバーを構築するということですか?
 または、Accessの様に各PCにインストールする想定ですか?

もし、Access の様に 各PCにインストールするのであれば、SQL Server Express Edition を使用します。
ご存じとは思いますが、Developer Edition は開発または教育用のみで、業務では使用できません。

SQL Server Express Edition はマイクロソフトのサイトから無料でダウンロードできたと思います。
VB2005 にも添付されているかもしれません。

参考URL:http://technet.microsoft.com/ja-jp/sqlserver/cc721623

・SQL Server の基本的な操作等については、マイクロソフトのサイトに「自習書」がありますので、
 そちらを参考にされたら良いかと思います。(参照URL)

・データベースさえできてしまえば、データの出し入れは Oracle とほとんど変わりないと思います。

ここで,疑問点ですが、
・SQL Server はOracleと別にサーバーを構築するということですか?
 または、Accessの様に各PCにインストールする想定ですか?

もし、Access の様に 各PCにインストールするのであれば、SQL Server Express Edition を使用します。...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報