iT邦幫忙

0

SQL語法在SQL server中用datetime資料型別

ping9 2013-10-26 20:08:4513220 瀏覽

請問一下
datetime資料型別
要如何用where下SQL語法呢?
1.要取今天 where要如何寫呢?
2.要取今天、昨天、前天的where要如何寫呢?
謝謝

6
純真的人
iT邦大師 1 級 ‧ 2013-10-26 23:09:35
最佳解答

--金天
select * from 資料表 where 日期欄位 = convert(datetime,convert(varchar,GetDate(),111))

--昨天
select * from 資料表 where 日期欄位 = convert(datetime,convert(varchar,GetDate(),111)) - 1

--前天
select * from 資料表 where 日期欄位 = convert(datetime,convert(varchar,GetDate(),111)) - 2

player iT邦大師 1 級 ‧ 2013-10-27 20:51:38 檢舉

您這種寫法
看起來怪怪的?
用 = 去比較? 似乎不太對, 除非他放日期的欄位不含任何時間
不然應該會篩選不出來
不然它的日期欄位也要一起轉換

你的日期欄位應該是有含到時間...

你要把時間給過濾掉才行...

select * from dateA where convert(datetime,convert(varchar,dd,111))
= convert(datetime,convert(varchar,GetDate(),111))

ping9 iT邦新手 4 級 ‧ 2013-10-28 23:04:05 檢舉

這樣可以了,謝謝!

2
賽門
iT邦超人 1 級 ‧ 2013-10-27 21:35:28

今天

<pre class="c" name="code">SELECT * FROM [TABLE] WHERE CONVERT(DATEFIELD, 112) = CONVERT(GETDATE(), 112)

昨天

<pre class="c" name="code">SELECT * FROM [TABLE] WHERE CONVERT(DATEFIELD, 112) = CONVERT(DATEADD(d,  -1, GATEDATE()), 112))

前天

昨天

<pre class="c" name="code">SELECT * FROM [TABLE] WHERE CONVERT(DATEFIELD, 112) = CONVERT(DATEADD(d,  -2, GATEDATE()), 112))

看更多先前的回應...收起先前的回應...
ping9 iT邦新手 4 級 ‧ 2013-10-27 21:51:39 檢舉

:simon581923(

您好
這樣還是求不出要的資料
謝謝

賽門 iT邦超人 1 級 ‧ 2013-10-28 08:15:46 檢舉

請問你要求的是什麼?

ted99tw iT邦高手 1 級 ‧ 2013-10-28 08:28:13 檢舉

不要問樓主要求的是什麼,要問我們能給什麼...冷

總裁 iT邦好手 1 級 ‧ 2013-10-28 08:30:22 檢舉

泰大能給我們什麼??....偷笑

ted99tw iT邦高手 1 級 ‧ 2013-10-28 08:38:35 檢舉

我能給的,好像大家都不缺...臉紅

總裁 iT邦好手 1 級 ‧ 2013-10-28 08:48:35 檢舉

我缺的,好像大家都不能給....汗

echen688 iT邦研究生 1 級 ‧ 2013-10-28 09:57:19 檢舉

cdfu提到:
我缺的,好像大家都不能給....

缺綿酚嗎?? ....... 疑惑

我缺睡眠打嗑睡

小成 iT邦高手 10 級 ‧ 2013-10-28 10:24:34 檢舉

我缺正妹...

esyc提到:
我缺正妹...

這個我好像也缺臉紅

賽門 iT邦超人 1 級 ‧ 2013-10-28 12:26:18 檢舉

E大和老鷹....現貼正'資深'辣妹一枚....請慢用....

應該沒這位"資深"

H5 iT邦研究生 4 級 ‧ 2013-10-28 13:51:36 檢舉

缺很大 急需腦補了...

ping9 iT邦新手 4 級 ‧ 2013-10-28 23:06:23 檢舉

您好
以下是我的datetime
2013-10-27 18:54:02.233
用您的方法還是無法解決
能否解說一下謝謝

2
anderson_lee
iT邦新手 5 級 ‧ 2013-10-28 09:04:16

select dateadd(day,-1,getdate())
不用from,select 就對了, 若用Between 當字元處理即可
第二個參數參數,-1是昨天,0 就是今天了,+1就是明天了

我要發表回答

立即登入回答