亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQLite3中的日期時間函數(shù)使用小結

 更新時間:2014年05月13日 08:45:01   作者:  
這篇文章主要介紹了SQLite3中的日期時間函數(shù)使用小結,同時介紹了一些SQLite數(shù)據(jù)庫的基本知識,需要的朋友可以參考下


復制代碼 代碼如下:

import sqlite3
conn = sqlite3.connect('/tmp/sqlite.db')
cur = conn.cursor()

接下來干嘛呢?建一張表吧。這里需要注意的是,SQLite不支持在創(chuàng)建表的同時創(chuàng)建索引,所以要分兩步走,先創(chuàng)建表然后再創(chuàng)建索引
復制代碼 代碼如下:
create_table_stmt = '''CREATE TABLE IF NOT EXISTS test_table (
 id INTEGER PRIMARY KEY AUTOINCREMENT,
 duration INTEGER,
 event_date TEXT,
 parameter TEXT );'''

create_index = 'CREATE INDEX IF NOT EXISTS idx_id ON test_table (id);'
cur.execute(create_table_stmt)
cur.execute(create_index)
conn.commit()

然后往里面插一點數(shù)據(jù)吧,SQLite只支持5種基本的數(shù)據(jù)類型

復制代碼 代碼如下:

NULL. The value is a NULL value    
INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value
REAL. The value is a floating point value, stored as an 8-byte IEEE floating point number
TEXT. The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE)
BLOB. The value is a blob of data, stored exactly as it was input

問題來了,SQLite的時間和日期類型在哪里?原來SQLite可以把時間日期保存在一下幾種數(shù)據(jù)類型里面

復制代碼 代碼如下:

TEXT as ISO8601 strings ('YYYY-MM-DD HH:MM:SS.SSS').
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.

insert_stmt = 'insert into test_table values (?, ?, ?)'
record = (123, '2011-11-30 12:34:56', 'hello world')
cur.execute( insert_stmt, record )
conn.commit()


把日期保存為字符串以后,不能直接拿出來直接當日期用,在用之前要調(diào)用SQLite的date函數(shù)
例如找前一天存進去的數(shù)據(jù):
復制代碼 代碼如下:

SELECT
 id,
 duration,
 event_date,
 parameter
 FROM test_table
WHERE
 DATE(event_date) = DATE('now', '-1 day', 'localtime')
ORDER BY id, event_date

查看表結構 select * from sqlite_master
查看表信息 PRAGMA table_info (table_name)

SQLite中的時間日期函數(shù)

SQLite包含了如下時間/日期函數(shù):

復制代碼 代碼如下:

datetime() .......................  產(chǎn)生日期和時間
date()  ........................... 產(chǎn)生日期
time()  ........................... 產(chǎn)生時間
strftime() .......................  對以上三個函數(shù)產(chǎn)生的日期和時間進行格式化

datetime()的用法是:datetime(日期/時間,修正符,修正符...)
date()和time()的語法與datetime()相同。

在時間/日期函數(shù)里可以使用如下格式的字符串作為參數(shù):

復制代碼 代碼如下:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
HH:MM
HH:MM:SS
now                                 # 其中now是產(chǎn)生現(xiàn)在的時間。

舉例(寫這個筆記的時間是2006年10月17日晚8點到10點,北京時間):

復制代碼 代碼如下:

select datetime('now');
結果:2006-10-17 12:55:54

select datetime('2006-10-17');
結果:2006-10-17 12:00:00

select datetime('2006-10-17 00:20:00', '+1 hour', '-12 minute');
結果:2006-10-17 01:08:00

select date('2006-10-17', '+1 day', '+1 year');
結果:2007-10-18

select datetime('now', 'start of year');
結果:2006-01-01 00:00:00

select datetime('now', 'start of month');
結果:2006-10-01 00:00:00

select datetime('now', 'start of day');
結果:2006-10-17 00:00:00

# 盡管第2個參數(shù)加上了10個小時,但是卻被第3個參數(shù) start of day 把時間歸零到00:00:00
# 隨后的第4個參數(shù)在00:00:00的基礎上把時間增加了10個小時變成了10:00:00。
select datetime('now', '+10 hour', 'start of day', '+10 hour');
結果:2006-10-17 10:00:00

# 把格林威治時區(qū)轉(zhuǎn)換成本地時區(qū)。
select datetime('now', 'localtime');
結果:2006-10-17 21:21:47

select datetime('now', '+8 hour');
結果:2006-10-17 21:24:45


strftime() 函數(shù)可以把YYYY-MM-DD HH:MM:SS格式的日期字符串轉(zhuǎn)換成其它形式的字符串。
strftime() 的語法是strftime(格式, 日期/時間, 修正符, 修正符, ...)

它可以用以下的符號對日期和時間進行格式化:
%d 月份, 01-31
%f 小數(shù)形式的秒,SS.SSS
%H 小時, 00-23
%j 算出某一天是該年的第幾天,001-366
%m 月份,00-12
%M 分鐘, 00-59
%s 從1970年1月1日到現(xiàn)在的秒數(shù)
%S 秒, 00-59
%w 星期, 0-6 (0是星期天)
%W 算出某一天屬于該年的第幾周, 01-53
%Y 年, YYYY
%% 百分號

strftime() 的用法舉例如下:

復制代碼 代碼如下:

select strftime('%Y/%m/%d %H:%M:%S', 'now', 'localtime');

結果:2006/10/17 21:41:09

相關文章

  • sqlite時間戳轉(zhuǎn)時間語句(時間轉(zhuǎn)時間戳)

    sqlite時間戳轉(zhuǎn)時間語句(時間轉(zhuǎn)時間戳)

    這篇文章主要介紹了sqlite時間戳轉(zhuǎn)時間、時間轉(zhuǎn)時間戳的方法,需要的朋友可以參考下
    2014-06-06
  • SQLite3的綁定函數(shù)族使用與其注意事項詳解

    SQLite3的綁定函數(shù)族使用與其注意事項詳解

    這篇文章主要介紹了SQLite3的綁定函數(shù)族使用與其注意事項的相關資料,文中通過示例代碼介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • SQLite教程(十二):鎖和并發(fā)控制詳解

    SQLite教程(十二):鎖和并發(fā)控制詳解

    這篇文章主要介紹了SQLite教程(十二):鎖和并發(fā)控制詳解,本文講解了鎖和并發(fā)控制機制概述、文件鎖、回滾日志、數(shù)據(jù)寫入、SQL級別的事務控制等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • 為SQLite3提供一個ANSI到UTF8的互轉(zhuǎn)函數(shù)

    為SQLite3提供一個ANSI到UTF8的互轉(zhuǎn)函數(shù)

    這篇文章主要為大家分享下ANSI與UTF8的互轉(zhuǎn)函數(shù),需要的朋友可以收藏下
    2013-12-12
  • SQLite速度評測代碼

    SQLite速度評測代碼

    SQLite 作為一個輕量級嵌入式數(shù)據(jù)庫,還是非常好用的。雨痕極力推薦~~~~~~
    2008-09-09
  • SQLite字符串比較時的大小寫問題解決方法

    SQLite字符串比較時的大小寫問題解決方法

    這篇文章主要介紹了SQLite字符串比較時的大小寫問題解決方法,本文總結了比較字符串時的大小寫問題的3種解決方案,需要的朋友可以參考下
    2015-03-03
  • SQLite數(shù)據(jù)庫管理系統(tǒng)-我所認識的數(shù)據(jù)庫引擎

    SQLite數(shù)據(jù)庫管理系統(tǒng)-我所認識的數(shù)據(jù)庫引擎

    SQLite是一款輕量級的、被設計用于嵌入式系統(tǒng)的關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),SQLite 是一個實現(xiàn)自我依賴、純客戶端、零配置且支持事務的數(shù)據(jù)庫引擎
    2013-01-01
  • SQLite教程(五):數(shù)據(jù)庫和事務

    SQLite教程(五):數(shù)據(jù)庫和事務

    這篇文章主要介紹了SQLite教程(五):數(shù)據(jù)庫和事務,本文講解了Attach數(shù)據(jù)庫、Detach數(shù)據(jù)庫、事務等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • SQLITE3 使用總結

    SQLITE3 使用總結

    Sqlite3 的確很好用。小巧、速度快。但是因為非微軟的產(chǎn)品,幫助文檔總覺得不夠。這些天再次研究它,又有一些收獲,這里把我對 sqlite3 的研究列出來,以備忘記。也希望能對大家有所幫助。
    2014-08-08
  • SQLite數(shù)據(jù)庫安裝及基本操作指南

    SQLite數(shù)據(jù)庫安裝及基本操作指南

    SQLite 是一個開源的嵌入式關系數(shù)據(jù)庫,實現(xiàn)自包容、零配置、支持事務的SQL數(shù)據(jù)庫引擎。 其特點是高度便攜、使用方便、結構緊湊、高效、可靠。今天我們主要來講解下SQLite數(shù)據(jù)庫的安裝以及基本操作指南
    2014-08-08

最新評論