Year(@time), Month(@time) 2 個函數即可。
然後用它們來組裝字元串也就簡單了。CONVERT(VarChar(7), @time, 120)會得到YYYY-MM。調用。
用轉成字元串,,但此時他已經不是時間類型。
CONVERT(char(7),"你的時間例",120)
㈡ oracle資料庫中存的格式是YYYYMMDDHHmmss的字元串,怎麼轉換成YYYY-MM-DD HH:mm:ss
selectto_char(to_date('20150413090101','yyyymmddhh24miss'),'yyyy-mm-ddhh24:mi:ss')fromal
㈢ SQL怎麼取當前時間是YYYYMMDDHHMMSS格式的
首先,你欄位就不應該設置成datetime類型
欄位類型設置成varchar(14)才可以
給你舉個例子
建表,里邊帶默認值,也就是你描述的那樣的默認值
createtabletest
(idint,
timevarchar(14)defaultreplace(replace(replace(convert(varchar,getdate(),120),'-',''),'',''),':',''))
插入數據
insertintotest(id)values(1)
檢查結果
㈣ sql語言中,各種數據類型代表的含義是什麼
(1)數值型
數值是諸如32 或153.4 這樣的值。MySQL 支持科學表示法,科學表示法由整數或浮點數後跟「e」或「E」、一個符號(「+」或「-」)和一個整數指數來表示。1.24E+12 和23.47e-1 都是合法的科學表示法表示的數。而1.24E12 不是合法的,因為指數前的符號未給出。
浮點數由整數部分、一個小數點和小數部分組成。整數部分和小數部分可以分別為空,但不能同時為空。
數值前可放一個負號「-」以表示負值。
(2)字元(串)型
字元型(也叫字元串型,簡稱串)是諸如「Hello, world!」或「一個饅頭引起的血案」這樣的值,或者是電話號碼87398413這樣的值。既可用單引號也可用雙引號將串值括起來。
初學者往往分不清數值87398143和字元串87398143的區別。都是數字啊,怎麼一個要用數值型,一個要用字元型呢?關鍵就在於:數值型的87398143是要參與計算的,比如它是金融中的一個貨款總額;而字元型的87398143是不參與計算的,只是表示電話號碼,這樣的還有街道號碼、門牌號碼等等,它們都不參與計算。
(3)日期和時間型
日期和時間是一些諸如「2006-07-12」或「12:30:43」這樣的值。MySQL還支持日期/時間的組合,如「2006-07-12 12:30:43」。
(4)NULL值
NULL表示未知值。比如填寫表格中通訊地址不清楚留空不填寫,這就是NULL值。
我們用Create Table語句創建一個表,這個表中包含列的定義。例如我們在前面創建了一個joke表,這個表中有content和writer兩個列:
定義一個列的語法如下:
其中列名由col_name 給出。列名可最多包含64個字元,字元包括字母、數字、下劃線及美元符號。列名可以名字中合法的任何符號(包括數字)開頭。但列名不能完全由數字組成,因為那樣可能使其與數據分不開。MySQL保留諸如SELECT、DELETE和CREATE這樣的詞,這些詞不能用做列名,但是函數名(如POS 和MIN)是可以使用的。
列類型col_type表示列可存儲的特定值。列類型說明符還能表示存放在列中的值的最大長度。對於某些類型,可用一個數值明確地說明其長度。而另外一些值,其長度由類型名蘊含。例如,CHAR(10) 明確指定了10個字元的長度,而TINYBLOB值隱含最大長度為255個字元。有的類型說明符允許指定最大的顯示寬度(即顯示值時使用多少個字元)。浮點類型允許指定小數位數,所以能控制浮點數的精度值為多少。
可以在列類型之後指定可選的類型說明屬性,以及指定更多的常見屬性。屬性起修飾類型的作用,並更改其處理列值的方式,屬性有以下類型:
(1)專用屬性用於指定列。例如,UNSIGNED 屬性只針對整型,而BINARY屬性只用於CHAR 和VARCHAR。
(2)通用屬性除少數列之外可用於任意列。可以指定NULL 或NOT NULL 以表示某個列是否能夠存放NULL。還可以用DEFAULT,def_value 來表示在創建一個新行但未明確給出該列的值時,該列可賦予值def_value。def_value 必須為一個常量;它不能是表達式,也不能引用其他列。不能對BLOB 或TEXT 列指定預設值。
如果想給出多個列的專用屬性,可按任意順序指定它們,只要它們跟在列類型之後、通用屬性之前即可。類似地,如果需要給出多個通用屬性,也可按任意順序給出它們,只要將它們放在列類型和可能給出的列專用屬性之後即可。
2. MySQL的列(欄位)類型
資料庫中的每個表都是由一個或多個列(欄位)構成的。在用CREATE TABLE語句創建一個表時,要為每列(欄位)指定一個類型。列(欄位)的類型比數據類型更為細化,它精確地描述了給定表列(欄位)可能包含的值的種類,如是否帶小數、是否文字很多。
MySQL有整數和浮點數值的列類型,如表1所示。整數列類型可以有符號也可無符號。有一種特殊的屬性允許整數列值自動生成,這對需要唯一序列或標識號的應用系統來說是非常有用的。
類型 說明
TINYINT 非常小的整數
SMALLINT 較小整數
MEDIUMINT 中等大小整數
INT 標准整數
BIGINT 較大整數
FLOAT 單精度浮點數
DOUBLE 雙精度浮點數
DECIMAL 一個串的浮點數
表1:數值列類型
每種數值類型的名稱和取值范圍如表2所示。
類型說明 取值范圍
TINYINT[(M)] 有符號值:-128 到127
無符號值:0到255(0 到28 - 1)
SMALLINT[(M)] 有符號值:-32768 到32767(- 215 到215 - 1)
無符號值:0到65535(0 到21 6 - 1)
MEDIUMINT[(M)] 有符號值:-8388608 到8388607(- 22 3 到22 3 - 1 )
無符號值:0到16777215(0 到22 4 - 1)
INT[(M)] 有符號值:-2147683648 到2147683647(- 231 到231- 1)
無符號值:0到4294967295(0 到232-1)
BIGINT[(M)] 有符號值:-9223372036854775808 到 9223373036854775807(- 263到263-1)
無符號值:0到18446744073709551615(0到264 – 1)
FLOAT[(M, D)] 最小非零值:±1.175494351E - 38
DOUBLE[(M,D)] 最小非零值:±2.2250738585072014E - 308
DECIMAL (M, D) 可變;其值的范圍依賴於M 和D
表2:數值列類型的取值范圍
類型說明 存儲需求
TINYINT[(M)] 1位元組
SMALLINT[(M)] 2位元組
MEDIUMINT[(M)] 3位元組
INT[(M)] 4位元組
BIGINT[(M)] 8位元組
FLOAT[(M, D)] 4位元組
DOUBLE[(M, D)] 8位元組
DECIMAL (M, D) M位元組(MySQL < 3.23),M+2位元組(MySQL > 3.23 )
表3:數值列類型的存儲需求
MySQL提供了五種整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。INT為INTEGER的縮寫。這些類型在可表示的取值范圍上是不同的。整數列可定義為UNSIGNED從而禁用負值;這使列的取值范圍為0以上。各種類型的存儲量需求也是不同的。取值范圍較大的類型所需的存儲量較大。
MySQL 提供三種浮點類型: FLOAT、DOUBLE和DECIMAL。與整型不同,浮點類型不能是UNSIGNED的,其取值范圍也與整型不同,這種不同不僅在於這些類型有最大值,而且還有最小非零值。最小值提供了相應類型精度的一種度量,這對於記錄科學數據來說是非常重要的(當然,也有負的最大和最小值)。
在選擇了某種數值類型時,應該考慮所要表示的值的范圍,只需選擇能覆蓋要取值的范圍的最小類型即可。選擇較大類型會對空間造成浪費,使表不必要地增大,處理起來沒有選擇較小類型那樣有效。對於整型值,如果數據取值范圍較小,如人員年齡或兄弟姐妹數,則TINYINT最合適。MEDIUMINT能夠表示數百萬的值並且可用於更多類型的值,但存儲代價較大。BIGINT在全部整型中取值范圍最大,而且需要的存儲空間是表示範圍次大的整型INT類型的兩倍,因此只在確實需要時才用。對於浮點值,DOUBLE佔用FLOAT的兩倍空間。除非特別需要高精度或范圍極大的值,一般應使用只用一半存儲代價的FLOAT型來表示數據。
在定義整型列時,可以指定可選的顯示尺寸M。如果這樣,M應該是一個1 到255的整數。它表示用來顯示列中值的字元數。例如,MEDIUMINT(4)指定了一個具有4個字元顯示寬度的MEDIUMINT列。如果定義了一個沒有明確寬度的整數列,將會自動分配給它一個預設的寬度。預設值為每種類型的「最長」值的長度。如果某個特定值的可列印表示需要不止M個字元,則顯示完全的值;不會將值截斷以適合M個字元。
對每種浮點類型,可指定一個最大的顯示尺寸M 和小數位數D。M 的值應該取1 到255。D的值可為0 到3 0,但是不應大於M - 2(如果熟悉ODBC 術語,就會知道M 和D 對應於ODBC 概念的「精度」和「小數點位數」)。M和D對FLOAT和DOUBLE 都是可選的,但對於DECIMAL是必須的。在選項M 和D時,如果省略了它們,則使用預設值。
2.2字元串列類型
MySQL提供了幾種存放字元數據的串類型,其類型如下:
類型名 說明
CHAR 定長字元串
VARCHAR 可變長字元串
TINYBLOB 非常小的BLOB(二進制大對象)
BLOB 小BLOB
MEDIUMBLOB 中等的BLOB
LONGBLOB 大BLOB
TINYTEXT 非常小的文本串
TEXT 小文本串
MEDIUMTEXT 中等文本串
LONGTEXT 大文本串
ENUM 枚舉;列可賦予某個枚舉成員
SET 集合;列可賦予多個集合成員
表4:字元串列類型
下表給出了MySQL 定義串值列的類型,以及每種類型的最大尺寸和存儲需求。對於可變長的列類型,各行的值所佔的存儲量是不同的,這取決於實際存放在列中的值的長度。這個長度在表中用L 表示。
類型說明
最大尺寸
存儲需求
CHAR( M)
M 位元組
M 位元組
VARCHAR(M)
M 位元組
L + 1位元組
TINYBLOB, TINYTEXT
28- 1位元組
L + 1位元組
BLOB, TEXT
216 - 1 位元組
L + 2位元組
MEDIUMBLOB, MEDIUMTEXT
224- 1位元組
L + 3位元組
LONGBLOB, LONGTEXT
232- 1位元組
L + 4位元組
ENUM(「value1」, 「value2」, ...)
65535 個成員
1 或2位元組
SET (「value1」, 「value2」, ...)
64個成員
1、2、3、4 或8位元組
表5:串列類型最大尺寸及存儲需求
L 以外所需的額外位元組為存放該值的長度所需的位元組數。MySQL 通過存儲值的內容及其長度來處理可變長度的值。這些額外的位元組是無符號整數。請注意,可變長類型的最大長度、此類型所需的額外位元組數以及佔用相同位元組數的無符號整數之間的對應關系。例如,MEDIUMBLOB 值可能最多224 - 1位元組長並需要3 個位元組記錄其結果。3 個位元組的整數類型MEDIUMINT 的最大無符號值為224 - 1。這並非偶然。
2.3日期時間列類型
MySQL 提供了幾種時間值的列類型,它們分別是: DATE、DATETIME、TIME、TIMESTAMP和YEAR。下表給出了MySQL 為定義存儲日期和時間值所提供的這些類型,並給出了每種類型的合法取值范圍。
類型名 說明
DATE 「YYYY-MM-DD」格式表示的日期值
TIME 「hh:mm:ss」格式表示的時間值
DATETIME 「YYYY-MM-DD hh:mm:ss」格式
TIMESTAMP 「YYYYMMDDhhmmss」格式表示的時間戳值
YEAR 「YYYY」格式的年份值
表6:日期時間列類型
下面舉個例子:
這個例子創建一個student表,這個表中有name欄位,字元類型列,不允許NULL(空值)。有Chinese、Maths和English三個整數類型列。還有個Birthday日期類型列。
CREATE TABLE student
(
Name varchar(20) NOT NULL,
Chinese TINYINT(3),
Maths TINYINT(3),
English TINYINT(3),
Birthday DATE
)
㈤ SQL 中 date 與datetime的區別
區別1:
①date類型可用於需要一個日期值而不需要時間部分時;
②datetime類型:可用於需要同時包含日期和時間信息的值。
區別2:
①date:MySQL 以 'YYYY-MM-DD' 格式檢索與顯示date值;
②datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式檢索與顯示 DATETIME 類型。
(5)sqlyyyymmddhhmmss擴展閱讀:
SQL:
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
1986年10月,美國國家標准協會對SQL進行規范後,以此作為關系式資料庫管理系統的標准語言(ANSI X3. 135-1986),1987年得到國際標准組織的支持下成為國際標准。
不過各種通行的資料庫系統在其實踐過程中都對SQL規范作了某些編改和擴充。
所以,實際上不同資料庫系統之間的SQL不能完全相互通用。
date:
(1)省略 年/月/日 顯示系統日期並提示輸入新的日期,不修改則可直接按回車鍵,要修改則直接輸入新日期。
⑵當機器開始啟動時,有自動處理文件(AUTOEXEC.BAT)被執行,則系統不提示輸入系統日期。否則,提示輸入新日期和時間。
DateTimePicker控制項:
C/S設計中的DateTimePicker控制項[1],有兩種操作模式:
1.下拉式日歷模式(預設)—允許用戶顯示一種能夠用來選擇日期的下拉式日歷。
2.時間格式模式—允許用戶在日期顯示中選擇一個欄位(例如:月、日、年等等),按下控制項右邊的上下箭頭來設置它的值。
可以自定義控制項的下拉式日歷的外觀。
使用各種顏色屬性,例如CalendarBackColor,CalendarForeColor,CalendarTitleBackColor,CalendarTitleForeColor和CalendarTrailingForeColor,允許創建屬於您自己的顏色方案。
可以使用鍵盤或滑鼠對控制項進行瀏覽。下拉式日歷有兩個按鈕使您能夠滾動月份數據出入視圖。
㈥ SQL怎麼取當前時間是YYYYMMDDHHMMSS格式的
SELECT
CONVERT(varchar(100),
time,
格式)
主要更改格式的數值就好,具體對以格式如下:
SELECT
CONVERT(varchar(100),
GETDATE(),
0)
07
15
2009
4:06PM
SELECT
CONVERT(varchar(100),
GETDATE(),
1)
07/15/09
SELECT
CONVERT(varchar(100),
GETDATE(),
2)
09.07.15
SELECT
CONVERT(varchar(100),
GETDATE(),
3)
15/07/09
SELECT
CONVERT(varchar(100),
GETDATE(),
4)
15.07.09
SELECT
CONVERT(varchar(100),
GETDATE(),
5)
15-07-09
SELECT
CONVERT(varchar(100),
GETDATE(),
6)
15
07
09
SELECT
CONVERT(varchar(100),
GETDATE(),
7)
07
15,
09
SELECT
CONVERT(varchar(100),
GETDATE(),
8)
16:06:26
SELECT
CONVERT(varchar(100),
GETDATE(),
9)
07
15
2009
4:06:26:513PM
SELECT
CONVERT(varchar(100),
GETDATE(),
10)
07-15-09
SELECT
CONVERT(varchar(100),
GETDATE(),
11)
09/07/15
SELECT
CONVERT(varchar(100),
GETDATE(),
12)
090715
SELECT
CONVERT(varchar(100),
GETDATE(),
13)
15
07
2009
16:06:26:513
SELECT
CONVERT(varchar(100),
GETDATE(),
14)
16:06:26:513
SELECT
CONVERT(varchar(100),
GETDATE(),
20)
2009-07-15
16:06:26
SELECT
CONVERT(varchar(100),
GETDATE(),
21)
2009-07-15
16:06:26.513
SELECT
CONVERT(varchar(100),
GETDATE(),
22)
07/15/09
4:06:26
PM
SELECT
CONVERT(varchar(100),
GETDATE(),
23)
2009-07-15
SELECT
CONVERT(varchar(100),
GETDATE(),
24)
16:06:26
SELECT
CONVERT(varchar(100),
GETDATE(),
25)
2009-07-15
16:06:26.513
SELECT
CONVERT(varchar(100),
GETDATE(),
100)
07
15
2009
4:06PM
SELECT
CONVERT(varchar(100),
GETDATE(),
101)
07/15/2009
SELECT
CONVERT(varchar(100),
GETDATE(),
102)
2009.07.15
SELECT
CONVERT(varchar(100),
GETDATE(),
103)
15/07/2009
SELECT
CONVERT(varchar(100),
GETDATE(),
104)
15.07.2009
SELECT
CONVERT(varchar(100),
GETDATE(),
105)
15-07-2009
SELECT
CONVERT(varchar(100),
GETDATE(),
106)
15
07
2009
SELECT
CONVERT(varchar(100),
GETDATE(),
107)
07
15,
2009
SELECT
CONVERT(varchar(100),
GETDATE(),
108)
16:06:26
SELECT
CONVERT(varchar(100),
GETDATE(),
109)
07
15
2009
4:06:26:513PM
SELECT
CONVERT(varchar(100),
GETDATE(),
110)
07-15-2009
SELECT
CONVERT(varchar(100),
GETDATE(),
111)
2009/07/15
SELECT
CONVERT(varchar(100),
GETDATE(),
112)
20090715
SELECT
CONVERT(varchar(100),
GETDATE(),
113)
15
07
2009
16:06:26:513
SELECT
CONVERT(varchar(100),
GETDATE(),
114)
16:06:26:513
SELECT
CONVERT(varchar(100),
GETDATE(),
120)
2009-07-15
16:06:26
SELECT
CONVERT(varchar(100),
GETDATE(),
121)
2009-07-15
16:06:26.513
SELECT
CONVERT(varchar(100),
GETDATE(),
126)
2009-07-15T16:06:26.513
SELECT
CONVERT(varchar(100),
GETDATE(),
130)
23
???
1430
4:06:26:513PM
SELECT
CONVERT(varchar(100),
GETDATE(),
131)
23/07/1430
4:06:26:513PM
㈦ sql server如何批量將yyyyMMddHHmmss字元串時間格式轉換成yyyy-MM-ddTHH:mm:ss
你這個
只能是硬轉化了!
selectCONVERT(datetime,SUBSTRING('2019032308:31:15',1,4)+'-'+SUBSTRING('2019032308:31:15',5,2)+'-'+SUBSTRING('2019032308:31:15',7,2)
+''+SUBSTRING('2019032308:31:15',9,16),21)
按照上面的格式試試吧!
望採納!
㈧ sql select TRdate日期列 from table1 這個搜索出來的結果 是 YY-MM-DD hhmmss
Select Convert(varchar(30),TRdate,111) date1 from table1
解釋如下
Convert(varchar(30),TRdate,111) ,
第一個char型類型,第二個參數時間列名,111是時間格式編號。
你想要哪種格式都可在下表找到對應的編號就行
Style(4位表示年份) 輸入輸出格式
100 mon dd yyyy hh:miAM(或PM)
101 mm/dd/yy
102 yymmdd
103 dd/mm/yy
104 ddmmyy
105 ddmmyy
106 dd mon yy
107 mon dd,yy
108 hh:mm:ss
109 mon dd yyyy hh:mi:ss:mmmmAM(或PM)
110 mmddyy
111 yy/mm/dd
112 yymmdd
113 dd mon yyyy hh:mi:ss:mmm(24小時制)
114 hh:mi:ss:mmm(24小時制)
120 yyyymmdd hh:mi:ss(24小時制)
121 yyyymmdd hh:mi:ss:mmm(24小時制)