Archive for category Database

MS SQL Convert Datetime

因為常常都不記得mssql 的convert function 唯有寫下來呢~ 以下節錄自microsoft 的msdn:

Without century (yy) (1) With century (yyyy) Standard Result
- 0 or 100 (1,2) Default mon dd yyyy hh:miAM (or PM)
1 101 U.S. mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yyyy
4 104 German dd.mm.yy
5 105 Italian dd-mm-yy
6 106(1) - dd mon yy
7 107(1) - Mon dd, yy
8 108 - hh:mi:ss
- 9 or 109 (1,2) Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd

yyyymmdd

- 13 or 113 (1,2) Europe default + milliseconds dd mon yyyy hh:mi:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 or 120 (2) ODBC canonical yyyy-mm-dd hh:mi:ss(24h)
- 21 or 121 (2) ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126 (4) ISO8601 yyyy-mm-ddThh:mi:ss.mmm (no spaces)
- 127(6, 7) ISO8601 with time zone Z. yyyy-mm-ddThh:mi:ss.mmmZ

(no spaces)

- 130 (1,2) Hijri (5) dd mon yyyy hh:mi:ss:mmmAM
- 131 (2) Hijri (5) dd/mm/yy

另外就是只取 date 而不要 time 的做法如下 (這種做法不用convert 兩次,要變做varchar, 而這種方法可以保留datetime 這個format)

dateadd(dd,0, datediff(dd,0,yourdatefield))

  • Share/Bookmark

, , , ,

No Comments

[iPhone] Remote Query

chowky 一看到這個app ,最難理解的是用途是什麼?為什麼要download 這個app? 雖然iphone 直接connect database ,這種solution 其實是沒有的呢~,不過又要在server side 上deploy war (java) file。感覺得不太好。(太間接了)

當然其實要比較一下,m$的做法呢~依chowky 之前的經驗,window mobile 是否可以directly connect to ms sql server 呢?……….其實是沒有問題的,別人看上去似乎是好direct 的。事實?

當然,要透過在IIS,window server 上install sql server agent ,之後再set 好IIS。
接著就要在手機上install sql server compact edition,再copy 幾個files(詳細不記得了~不過好似利用visual studio 2005 是可以sync 入機中),最後就要利用一個叫做RDA 的library ,就完成了。他是支援database 的synchronization,不過就一定要在ms sql server 入面pull ,加上track 的attribute 就可以了。

Source: http://www.logicainformatica.it/NewSite/CosaFacciamo/DispositiviMobili/iPhone/RemoteQuery_en.html

  • Share/Bookmark

No Comments

[Optimization] 注意 boolean 的選取方法去提升 SQL 的 efficiency

先看看這個sql,假設 book_published 和 best_seller 是boolean (bit)

1
2
3
4
5
6
SELECT DISTINCT a.author_id, a.author_name, b.book_id, b.book_title
FROM authors a
INNER JOIN books b ON a.author_id = b.author_id
WHERE a.author_id = 27
AND b.book_published = 1
AND b.best_seller = 1

如果dataset太大的話,run sql 的時候,他們就要內部convert to bit 再做比較。

只要把sql 簡單作修改,就可以避免不必要的type conversion 所花的時間。

1
2
3
4
5
6
SELECT DISTINCT a.author_id, a.author_name, b.book_id, b.book_title
FROM authors a
INNER JOIN books b ON a.author_id = b.author_id
WHERE a.author_id = 27
AND b.book_published = '1' --只要加上quote,就不用type conversion
AND b.best_seller = '1' 

Source: http://www.ravenglass.com/blog/index.cfm/2009/8/14/More-tips-for-SQL-efficiency-boolean-values-in-SQL

  • Share/Bookmark

No Comments