不知道什麼時候對資料獨有情種,也許是因為所學專業的緣故,也許是在多年的工作中的親身經歷,無資料,很多事情幹不了,資料精度不夠,也很多事情幹不了,有一次跟乙個朋友開玩笑說,如果在寫**的時候,能有乙份獨一無二的資料,那麼這已經超過別人一大截,但這畢竟死空中樓閣,事與願違的事情見多了,也就不足為其,我深知資料的重要,但卻因為得不到資料而煩惱,現在想想,這又是何必呢,也許自己有了資料,反而不會經常靜下心去思考,人就是這樣對自己身邊擁有點的東西往往關心不足,考慮不周。
所謂的有得有失,我想我得到的就是自己的親身感受吧!
資料中蘊含的很多隱性價值,所以人們多年的努力就是將這些價值利用起來,不管是圖表,bi,或者資料探勘目的一樣,都是為了裡面潛在價值。
資料如何儲存?資料種類繁多,結構不已,有數字型的,比如說浮點型的,整形的,想當初第一台計算機問世應該就是為了科學計算的需求吧。日新月異的今天,資料發生了很大的變化,字串,日期等等,其實這些都是計算機給其定義的儲存結構,但是往往我們需要進行資料的轉換,比如我,我就比較懶散,在資料儲存的時候,都將其資料按照字串儲存,這樣比較安全,也容易儲存,但是這個時候對這個資料的理解就有了不同的意義,字串比如說'
2010-09-01 07:00:0』,這個明顯就是日期,但是計算機用字串儲存,在日後進行檢視或者使用的時候,這將會帶來眾多的不便,所以建議,資料儲存的時候按照其原始格式。
不同的資料型別有不同的操作,在程式設計的時候應該深有體會,比如字串來說,字串有trim,length,substring等,數字型的一般就是加減乘除,日期型的,日期型因為表示方法很多,所以也比較特殊,下面就介紹日期型別在資料庫中的查詢,下面是sql server的的,不同的資料庫可能不太一樣。
/****** script for selecttopnrows command from ssms *****
*/select
*from dbo.vehicledata20100901 where createdate between
'2010-09-01 07:00:0
'and
'2010-09-01 09:00:0
'select
*from fcdbackup20100900_new.dbo.vehicledata20100901 where
datediff (s, '
2010-09-01 07:00:0
', createdate ) >
0and
datediff(s, '
2010-09-01 09:00:0
', createdate )<
0
在進行資料轉換的時候,也應該有所注意在sql server中,cast和convert函式都可用於型別轉換,其功能是相同的,只是語法不同.cast一般更容易使用,convert的優點是可以格式化日期和數值.
selectcast('
123'
asint) --
123select
convert(int, '
123') --
123select
cast(123.4
asint) --
123select
convert(int, 123.4) --
123
select
cast('
123.4'as
int)
select
convert(int, '
123.4')
--conversion failed when converting the varchar value '123.4' to data type int.
select
cast('
123.4'as
decimal) --
123select
convert(decimal, '
123.4
') --
123
select
cast('
123.4'as
decimal(9,2)) --
123.40
select
convert(decimal(9,2), '
123.4
') --
123.40
declare
@num
money
set@num
=1234.56
select
convert(varchar(20), @num, 0) --
1234.56
select
convert(varchar(20), @num, 1) --
1,234.56
select
convert(varchar(20), @num, 2) --
1234.5600
selectconvert(varchar(100), getdate(), 0): 05
162006
10:57am
select
convert(varchar(100), getdate(), 1): 05/16
/06select
convert(varchar(100), getdate(), 2): 06.05.16
select
convert(varchar(100), getdate(), 3): 16/05
/06select
convert(varchar(100), getdate(), 4): 16.05.06
select
convert(varchar(100), getdate(), 5): 16-05
-06select
convert(varchar(100), getdate(), 6): 16
0506
select
convert(varchar(100), getdate(), 7): 05
16, 06
select
convert(varchar(100), getdate(), 8): 10:57:46
select
convert(varchar(100), getdate(), 9): 05
162006
10:57:46
:827am
select
convert(varchar(100), getdate(), 10): 05-16
-06select
convert(varchar(100), getdate(), 11): 06/05
/16select
convert(varchar(100), getdate(), 12): 060516
select
convert(varchar(100), getdate(), 13): 16
052006
10:57:46:937
select
convert(varchar(100), getdate(), 14): 10:57:46:967
select
convert(varchar(100), getdate(), 20): 2006-05
-1610:57:47
select
convert(varchar(100), getdate(), 21): 2006-05
-1610:57:47.157
select
convert(varchar(100), getdate(), 22): 05/16
/0610:57:47
amselect
convert(varchar(100), getdate(), 23): 2006-05
-16select
convert(varchar(100), getdate(), 24): 10:57:47
select
convert(varchar(100), getdate(), 25): 2006-05
-1610:57:47.250
select
convert(varchar(100), getdate(), 100): 05
162006
10:57am
select
convert(varchar(100), getdate(), 101): 05/16
/2006
select
convert(varchar(100), getdate(), 102): 2006.05.16
select
convert(varchar(100), getdate(), 103): 16/05
/2006
select
convert(varchar(100), getdate(), 104): 16.05.2006
sql server 按時間段查詢
在寫按時間段查詢的sql語句的時候 一般我們會這麼寫查詢條件 where date 2010 01 01 and date 2010 10 1 但是在實執行sql時些語句會轉換成這樣 where date 2010 01 01 0 00 00 and date 2010 10 1 0 00 00 再...
Sql Server常用時間段查詢彙總
本文對應sql server 中常用的時間查詢的進行一些彙總,例如查詢當天的 本週的 本月的 本季度的,某個時間段內的時間。例項 我的 表名 mytable 欄位名 mydate 一 當天 某兩個時間段 select from mytable where datediff dd,mydate,get...
Sql Server常用時間段查詢彙總
本文對應sql server 中常用的時間查詢的進行一些彙總,例如查詢當天的 本週的 本月的 本季度的,某個時間段內的時間。例項 我的 表名 mytable 欄位名 mydate 一 當天 某兩個時間段 select from mytable where datediff dd,mydate,get...