sql日期和時間
A. 關於sql模糊查詢日期時間的方法
有以下三種方法:
1、Convert轉成String,在用Like查詢
select * from table1 where convert(varchar,yourtime,120) like '2017-06-30%'
2、Between
select * from table1 where yourtime between '2017-06-30 0:00:00' and '2017-06-30 24:59:59'";
3、datediff()函數
select * from table1 where datediff(day,yourtime,'2017-06-30')=0
(1)sql日期和時間擴展閱讀:
滾與上述日期格式的like模糊查詢的注意事項
1、select * from T where sendTime like '%2007_12_%' 可以查詢2007年12月的所有記錄
如果like條件改為'%2007-12-%' ,'%2007_12_3%' ,或'%2007_12_30%' 都查不出數據。
2、select * from T where sendTime like '%12_30%' 可以查詢12月30日的所有記錄
如果like條件改為'%07_12_30%' 也查不出數據。
B. sql如何讀取系統日期和時間
GETDATE() 函數從 SQL Server 返回當前的時間和日期。
使用下面的 SELECT 語句:
SELECT GETDATE() AS CurrentDateTime
結果:
CurrentDateTime
2008-12-29 16:25:46.635
注釋:上面的時間部分精確到毫秒。
例子 2
下面的 SQL 創建帶有日期時間列 (OrderDate) 的 "Orders" 表:
CREATE TABLE Orders
(
OrderId int NOT NULL PRIMARY KEY,
ProctName varchar(50) NOT NULL,
OrderDate datetime NOT NULL DEFAULT GETDATE()
)
請注意,OrderDate 把 GETDATE() 規定為默認值。結果是,當您在表中插入新行時,當前日期和時間自動插入列中。
現在,我們希望在 "Orders" 表中插入一條記錄:
INSERT INTO Orders (ProctName) VALUES ('Computer')
"Orders" 表將成為這樣:
OrderId ProctName OrderDate
1 'Computer' 2008-12-29 16:25:46.635
C. 請教一下SQL語句中條件為日期時間型的查詢表達式應該怎麼寫
sql語句中條件為日期時間類型需要用convert轉換成字元後查詢。
工具:sqlserver 2008 R2
步驟:
1、test表中有如下數據:
D. sql語句中日期時間類型怎麼比較
正常比較日期前後就好了,假設表名叫Table,有個欄位叫CreateDate是日期類型的,如下:
select *
from Table
where CreatedDate>=CAST(DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)AS datetime)
E. sql的datetime和smalldatetime怎麼用
代表日期和一天內的時間的日期和時間數據類型。
datetime
從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確度為百分之三秒(等於 3.33 毫秒或 0.00333 秒)。如下表所示,把值調整到 .000、.003、或 .007 秒的增量。
示例 調整後的示例
01/01/98 23:59:59.999 1998-01-02 00:00:00.000
01/01/98 23:59:59.995,
01/01/98 23:59:59.996,
01/01/98 23:59:59.997, 或
01/01/98 23:59:59.998 1998-01-01 23:59:59.997
01/01/98 23:59:59.992,
01/01/98 23:59:59.993,
01/01/98 23:59:59.994 1998-01-01 23:59:59.993
01/01/98 23:59:59.990 或
01/01/98 23:59:59.991 1998-01-01 23:59:59.990
Microsoft® SQL Server™ 拒絕所有其不能識別為 1753 年到 9999 年間的日期的值。
smalldatetime
從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間數據精確到分鍾。29.998 秒或更低的 smalldatetime 值向下舍入為最接近的分鍾,29.999 秒或更高的 smalldatetime 值向上舍入為最接近的分鍾。
--returns time as 12:35
SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime)
GO
--returns time as 12:36
SELECT CAST('2000-05-08 12:35:29.999' AS smalldatetime)
GO
注釋
Microsoft SQL Server 用兩個 4 位元組的整數內部存儲 datetime 數據類型的值。第一個 4 位元組存儲 base date(即 1900 年 1 月 1 日)之前或之後的天數。基礎日期是系統參考日期。不允許早於 1753 年 1 月 1 日的 datetime 值。另外一個 4 位元組存儲以午夜後毫秒數所代表的每天的時間。
smalldatetime 數據類型存儲日期和每天的時間,但精確度低於 datetime。SQL Server 將 smalldatetime 的值存儲為兩個 2 位元組的整數。第一個 2 位元組存儲 1900 年 1 月 1 日後的天數。另外一個 2 位元組存儲午夜後的分鍾數。日期范圍從1900 年 1 月 1 日到 2079 年 6 月 6 日,精確到分鍾。
F. SQL資料庫中的是年月日時分秒格式的,什麼語句能實現年月日的查詢
1、SEELCT *from表名where日期='年月日'
2、查詢:
declare @date varchar(20)
set @date = '2013-06-06 13:30:25' +'%'
SELECT *FROMTELEPHONE_HISTORYWHERECONVERT(VARCHAR(20) ,RECVTIME, 120)
LIKE @date
其中:CONVERT(VARCHAR(20) ,RECVTIME, 120) 就是將日期 類型轉 「YYYY-MM-DD HH:MM:SS」 格式的字元類型。
(6)sql日期和時間擴展閱讀:
SQL (Structured Query Language) 是具有數據操縱和數據定義等多種功能的資料庫語言,這種語言具有交互性特點,能為用戶提供極大的便利,資料庫管理系統應充分利用SQL語言提高計算機應用系統的工作質量與效率。
條件查詢
條件查詢即帶有WHERE子句的查詢,所要查詢的對象必須滿足WHERE子句給出的條件。
例:找出任何一門課成績在70以上的學生情況、課號及分數
SELECT UNIQUE student.st_class,student.st_no,student.st_name,student.st_sex,student.st_age,score.su_no,score.score
FROM student,score
WHERE score.score>=70 AND score.stno=student,st_no
這里使用UNIQUE是不從查詢結果集中去掉重復行,如果使用DISTINCT則會去掉重復行。另外邏輯運算符的優先順序為NOT→AND→OR。
例:找出課程號為c02的,考試成績不及格的學生
SELECT st_no
FROM score
WHERE su_no=『c02』 AND score<60