SQLite3 noter

From HoerupWiki
Revision as of 14:33, 21 March 2015 by Tommyb (talk | contribs) (Dato og tid funktioner)
Jump to: navigation, search

Tommys noter samlet fra diverse sider og primært sqlite.org - Det er ikke en manual, men mere de småting jeg selv havde brug for i starten.

Tools

Datatyper

Da SQLite skal ses som en SQL erstatning for flade tekstfiler, er det meget begrænset med datatyper.

  • INTEGER - Signed, op til 64bit.
  • TEXT - Som standard UTF-8, ingen begrænsninger udover diskplads.
  • BLOB - Binært felt, alt der kommer ind, kommer uændret ud. Ingen begrænsninger udover diskplads.
  • REAL - Floating point, 8byte IEEE standard.
  • NULL - Indeholder NULL.

Hvis du har brug for DECIMAL, NUMERIC eller DOUBLE PRECISION vil disse blive konveteret til henholdvis REAL, INTEGER og REAL. Pas især på med sidste.

SQLite har ingen DATETIME eller lign. Så best pratice er at gemme som ISO8601 (YYYY-MM-DD HH:MM:SS), i det format kan man stadig sammenligne og bruge mindre og større end sammenligning. Se Dato funktioner for mere.

Se www.sqlite.org/lang_datefunc.html for mere datatime info.

Funktioner

Jeg nævner lige et par brugbare herunder, men ellers kig her : www.sqlite.org/lang_corefunc.html

Text funktioner

  • substr(text, start[, length]) - Substring, bemærk første tegn er index 1, ikke 0 som i mange programmeringssprog.
  • instr(text, search) - Positionen af search i text, eller 0.
  • trim(text [,chars]) - Fjerner spaces fra start og slut af strengen. Hvis argument 2 er givet, fjerner den alle forekomster af tegne i chars start og slut af strengen.
  • upper(text) - Text konveteret til versaler.
  • lower(text) - Text konveteret til små bogstaver.
  • length(text)

Dato og tid funktioner

  • date(timestring, modifier, modifier, ...) - Datodelen af en dato+tid streng i formatet (YYYY-MM-DD HH:MM:SS) eller UnixTimestamp.
  • time(timestring, modifier, modifier, ...) - Tidsdelen af en dato+tid streng i formatet (YYYY-MM-DD HH:MM:SS) eller UnixTimestamp.
  • datetime(timestring, modifier, modifier, ...) - Dato+Tid af en dato+tid streng.
  • strftime(format, timestring, modifier, modifier, ...) - Valgfri dato+tid elementer fra en dato+tid streng.
%d 		day of month: 00
%f 		fractional seconds: SS.SSS
%H 		hour: 00-24
%j 		day of year: 001-366
%J 		Julian day number
%m 		month: 01-12
%M 		minute: 00-59
%s 		seconds since 1970-01-01
%S 		seconds: 00-59
%w 		day of week 0-6 with Sunday==0
%W 		week of year: 00-53
%Y 		year: 0000-9999
%% 		% 

Datetime modifier

Modifiers bruges til at regne frem eller tilbage fra datetime: Ex

select date('2015-01-01', '-1 days');
= 2014-12-31

Mulige modifiers :

NNN days
NNN hours
NNN minutes
NNN.NNNN seconds
NNN months
NNN years
start of month
start of year
start of day
weekday N
unixepoch
localtime
utc 

Læs om mere her : www.sqlite.org/lang_datefunc.html

Tal og matematiske funktioner

round(tal [,decimaler) ramdom()