MS SQL 使ったものmemo
USE [DB名]
GO
ALTER TABLE [dbo].[テーブル名] ALTER COLUMN [列名] [型] ;
GO
decimal(有効桁数[ ,小数点有効桁数])
numeric(有効桁数[ ,小数点有効桁数])
- decimalとnumericは同じ機能
- 有効桁数>=小数点桁数>=0
- decimal(3,2)だと -9.99〜9.99なのかな?
- 有効桁数の範囲は、1〜38
bigint
- マイナスがある。
- 8バイトの数値なので範囲は よくわからない桁数までいってるぐらい
-2^63 (-9,223,372,036,854,775,808) 〜 2^63-1 (9,223,372,036,854,775,807)
int
- マイナスがある。
- 4 バイトの数値なので範囲は 必要十分
-2^31 (-2,147,483,648) 〜 2^31-1 (2,147,483,647)
smallint
- マイナスがある。
- 2 バイトの数値なので範囲は マイナスのせいで65535が入らないぐらい。なんかこう嫌な感じ。
-2^15 (-32,768) 〜 2^15-1 (32,767)
tinyint
0 〜 255
USE [doubutu_db]
GO
ALTER TABLE [dbo].[neko] ALTER COLUMN [suiminzikan] [decimal](4,2) ;
ALTER TABLE [dbo].[neko] ALTER COLUMN [kotaisuu] [bigint] ;
ALTER TABLE [dbo].[neko] ALTER COLUMN [nedan] [int] ;
ALTER TABLE [dbo].[neko] ALTER COLUMN [esa_cost] [smallint] ;
ALTER TABLE [dbo].[neko] ALTER COLUMN [neko_code] [tinyint] ;
GO
参考
データ型 (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms187752.aspx
group by
USE [doubutu_db]
GO
SELECT [neko_code]
,sum([kotaisuu]) as sum0
,sum([esa_cost]) as sum1
FROM [dbo].[neko]
where [nedan] >= 0 and [nedan] <= 10000
group by [neko_code]
GO