だらだらやるよ。

こげつのIT技術メモ

SQLServer

bcpユーティリティによるテーブルの出力

http://d.hatena.ne.jp/nagakura_eil/20071116 で挙げたサイトを見ながら使ってみました。 私のところではコマンドはこんな感じに。 C:\>bcp データベース名.スキーマ名.テーブル名 out C:\hoge.txt -U ユーザ名 -P パスワード -t, -S (local)\DBインスタン…

データのインポート、エクスポート

とりあえず参考にしたアドレスのみはっておきます。http://msdn2.microsoft.com/ja-jp/library/ms190919.aspx

列名の変更

毎回Dropして作り直すのもどうかと思ったのでちょっと調べてみた。どうもSQLServerではAlterほげほげで変更できないみたい。 Transact-SQLのSP_RENAMEを使用する。 SP_RENAME '[table_name].[old_column_name]','[new_column_name]','column' 無事変更できま…

新しく知ったこと2つ

明日詳しく書きます。 countするときのover 以下のようなsalesテーブルがあるとき id int item_id int price intで、こんな項目が結果として欲しいときね(sum_price以降は、item_idごとの集計) id,sales.price,item_id,sum_price,min_price,max_price,avg_pr…

SQLServerでのテーブルとカラムの存在確認

よく忘れるのでメモしておきます。 存在がチェックだけできればいいので、色々手抜いてますが。。。テーブルの存在を確認(table_nameテーブルが存在しなければNull) SELECT object_id('table_name') カラムの存在を確認(table_nameテーブルにcolumn_nameカラ…

誕生日検索する

特定の月や日で、年をまたいで検索したいときってありますよね そんなときのSQL SELECT birthday FROM users WHERE DATEPART(m,birthday)=7 AND DATEPART(d,birthday)=31 こんな感じ:-) これでおいらと同じ誕生日の人が沢山検索できます。んでもあれなんです…

INSERT文について

ちょいとメモを。 インサート時に、他テーブルからのデータを取得する場合、SQLServerはvaluesの中にSELECTを書けないので、こんな風に書きます。 INSERT INTO table1(column1,table2_id) SELECT 'TESTDATA',(SELECT TOP 1 id FROM table2) なんとなく気持ち…

改行コード

SQLで改行削除する方法をど忘れしちゃったのでメモ UPDATE table_name SET column1 = REPLACE(column1,char(13) + char(10),'') 最初¥r¥nでやろうとしてうまくいかなかった。。。

viewの定義を出力

ビューが増えてくると、このビューってどんな役割だっけ?とかなりますよね! おいらはテーブル定義書と一緒に管理してたんだけど、一応確認したくなったので探してみました。 SELECT * FROM information_schema.views で全部のビューの定義が取得できます。…

テーブル結合して更新

文法よく忘れるのでメモ UPDATE update_target_table SET update_target_table.column1 = data_source_table.column1 FROM update_target_table INNER JOIN data_source_table ON update_target_table.data_source_table_id = data_source_table.id WHERE ho…

テーブルの列情報を確認

sp_MShelpcolumns N'テーブル名' でいけるもよん:-)

パラメータクエリの変数名

そうそう、これも度忘れして困ってた 変数名の頭にはアットマークをつけるのです SELECT * FROM hoge WHERE id = @id みたいな:-)

オートナンバ列の値をリセット

久しぶりにSQLServer触ったら忘れてるんだもんなぁ。。。 identity指定したカラムの数値をリセットする方法 DBCC CHECKIDENT (table_name,RESEED ,0) table_nameに任意のテーブル名をいれたらまた1からincrementするよっと

ちょっとはまったので・・・

めもめも http://support.microsoft.com/default.aspx?scid=kb;ja;319930