Difference between revisions of "SQLite3 noter"

From HoerupWiki
Jump to: navigation, search
(Text funktioner)
(Dato og tid funktioner)
Line 31: Line 31:
  
 
==Dato og tid funktioner==
 
==Dato og tid funktioner==
'''date(timestring, modifier, modifier, ...)''' - Datodelen af en dato+tid streng i formatet (YYYY-MM-DD HH:MM:SS) eller UnixTimestamp.
+
*'''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.
'''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.
'''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
 
  %d day of month: 00
 
  %f fractional seconds: SS.SSS
 
  %f fractional seconds: SS.SSS

Revision as of 13:27, 21 March 2015

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
%% 		% 

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

Tal og matematiske funktioner

round(tal [,decimaler) ramdom()