⑴ 在sql中怎麼定義出生日期的欄位
使用date類型
date是SQL Server 2008新引進的數據類型。它表示一個日子,不包含時間部分,可以表示的日期范圍從公元元年1月1日到9999年12月31日。只需要3個位元組的存儲空間
⑵ SQL 如何查詢日期在一定范圍內的數據
select * from 表 where 日期欄位>='開始日期' and 日期欄位<='截止日期' and convert(char(8),日期欄位,108)>='開始時間' and convert(char(8),日期欄位,108)<='截止時間'。
SELECT * FROM 表明 WHERE 日期欄位名 BETWEEN '20130101' AND '20130130'。
例如:
select * from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15'
and convert(char(8),dDate,108)>='8:00:00' and convert(char(8),dDate,108)<='9:00:00'.
select * from table1where year(d)=2010 and month(d)=7 and day(d) between 1 and 31
and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)
(2)sql資料庫中生日范圍語句擴展閱讀:
SQL查詢日期:
今天的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())=0
昨天的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())=1
7天內的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())<=7
30天內的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())<=30
本月的所有數據:select * from 表名 where DateDiff(mm,datetime類型欄位,getdate())=0
本年的所有數據:select * from 表名 where DateDiff(yy,datetime類型欄位,getdate())=0
參考資料:SQL_網路
⑶ 資料庫根據生日(birthday)查詢年齡大於N的員工,(日期轉換)寫SQL語句
給你舉個例子吧:
select from_unixtime((unix_timestamp(now())-unix_timestamp('2009-10-26 10-06-07')))
你可以直接放sql里運行, 例子中,有兩個3個mysql函數:
其中from_unixtime()是將時間戳 (一串能轉化成時間的數字串) 轉化為人能讀懂的時間格式;
unix_timestamp()則是相反作用,即將人能讀懂的時間轉化為時間戳形式;
now()則是獲取當前時間(默認是類似於2009-10-26 10-06-07);
為什麼要轉化成時間戳呢?因為這樣能准確,方便的對時間進行加減計算,然後再將時間戳轉化回來。
該條語句,運行的結果類似於1982-01-23 01:51:55 , 此時還需要將該數字減去1970,就是年齡了。
你可以根據自己存在資料庫中的時間格式進行變通,也許我這說的不一定是對的,但是希望能給你啟示,可以根據自己的數據來驗證
⑷ SQL中怎麼實現查詢女生並且是一定出生日期范圍內的
select * from 表 where 性別='F' and 生日 between '1989-04-01' and '1990-01-15'
⑸ sql 語句怎麼實現數據列表中生日距下一歲的天數,按天數升序的排序方法
Select DateDiff(DAY,GETDATE(),
dateadd(year,
FLOOR(datediff(DY,birthday,getdate())/365.25)+1
,birthday)
)
這個語句就是自當前離生日還有幾天的
⑹ 求高手解決:SQL語句查詢本周內生日的同學,以及本月內生日的同學....
本周有點麻煩, 本月很簡單
本月就是
WHERE MONTH( 生日欄位) = MONTH ( GetDate() )
本周就首先要計算出本周的第一天與最後一天
-- 本周一
set @dt1 = DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0)
-- 下周一
set @dt2 = DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()) + 1, 0)
然後一個有點復雜的 SQL
WHERE DATEADD(Year,DATEDIFF(Year,Birthday,@dt1),Birthday)
BETWEEN @dt1 AND @dt2
OR DATEADD(Year,DATEDIFF(Year,Birthday,@dt2),Birthday)
BETWEEN @dt1 AND @dt2
SQL 的解釋如下:
http://..com/question/233016367.html
⑺ 在線求sql語句查詢生日語句(只顯示月和日)重點是怎麼查詢月初等臨界狀態
select id,name ,datepart(month,birthday) as mon,datepart(day,birthday) as dy from info
where
(datepart(month,Birthday))*100+(datepart(day,Birthday))>=(datepart(month,getdate()))*100+(datepart(day,getdate()))
and (datepart(month,Birthday))*100+(datepart(day,Birthday))<=(datepart(month,dateadd(day,3,getdate())))*100+(datepart(day,dateadd(day,3,getdate())))
你這個查詢已經限定了月份,所以7月的就查不出來
⑻ 用SQL語句查詢生日以及今日生日!!
做兩個Edit控制項名稱為:Month,Day。
查詢的時候對生日進行分解,提取日和月對比,滿足日月吻合的就是符合篩選條件的生日會員。
select * from MemberTable Where Day(Birthday) = '''+Day.text+''' and Month(Birthday) = '''+Month.text+'''
⑼ 在資料庫中怎麼編寫查詢年齡在20——30歲之間的會員的sql語句
select*
from會員
where年齡>=20and年齡<=30
「elect * from 學生信息 where age between 18 and 20」此句sql最前面少個s
應該是 select * from 學生信息 where age between 18 and 20 意思是
在學生信息中找年齡在18到20的學生所有欄位信息。