萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> Sql server 取當天或當月的記錄

Sql server 取當天或當月的記錄

   jsp向數據庫中添加日期

  MS SQL SERVER:

  NSERT into student(studentid,time1)values('15',getdate());

  MY SQL

  insert into tablename (fieldname) values (now())

  取得數據庫某表的所有行數

  Connection conn=DbConnection.connectToDb();

  Statement stat=conn.createStatement();

  ResultSet rs=stat.executeQuery("select count(*) from book");

  rs.next();

  rs.getInt(1);//以前好像有試過是rs.getInt(0);

  Sql 取當天或當月的記錄

  SQLSQL Server

  Sql 取當天或當月的記錄

  今天晚上加班,遇到要把數據庫中的時間和當天時間進行比較的問題,直接比較肯定是不行的了。因為表中的時間格式是這樣的:2007-02-02 16:50:08.050, 如果直接和當天的時間比較,就總得不到准確數據,但是我們可以把這種格式的時間[格式化]成2007-02-02,也就是只有年-月-日,然後把當天的時間也格式化成 年-月-日的格式。

  這樣,思路就出來了!

  我們格式化日期要用到 Convert()這個函數,要用到3個參數,首先來格式化當天的日期,Convert(varchar(10),getDate(),120)

  這樣我們就可以把當天的日期格式化為: 2007-2-2,然後格式化數據庫表中的日期

  Convert(varchar(10),TimeFiled,120),最後我們就可以用一條Sql語句得到當天的數據了。

  例如:

  程序代碼

  Select * From VIEW_CountBill Where Convert(varchar(10),[time],120) = Convert(varchar(10),getDate(),120)

  注意:

  Convert() 函數中的各個參數的意義,第一個參數,varchar(10)是目標系統所提供的數據類型,包括 bigint 和 sql_variant.不能使用用戶定義的數據類型。第二個參數是你要轉換的字段,我這裡是[time].最後一個就是格式了,這個值是可選的:20或者120都可以,它遵循的是[ODBC 規范],輸入/輸出樣式為:yyyy-mm-dd hh:mm:ss[.fff]

  具體的可以參考Sql Server的聯機幫助!

  T-Sql查找表中當月的記錄

  思路:將要查找的時間字段用Month()函數取出其中的月份,然後再取出當前月的月份,對比就OK了

  例:

  程序代碼

  Select * From VIEW_CountBill Where Month([time]) = Month(getDate())

copyright © 萬盛學電腦網 all rights reserved