如何在SQL語句中將varchar轉換成datetime

2023-01-23 08:50:17 字數 5230 閱讀 9536

1樓:折柳成萌

首先,要確定varchar格式內的資料是否符合datetime的資料格式。

其次,如果varchar資料只是部分為datetime資料,則要先擷取其中符合條件的字元,再進行轉換。

再次,通過cast函式進行轉換示例:

1)假設varchar資料為'2016-05-02 12:00:12 fdas';

2)根據資料顯示,不能直接轉換,需要利用字元擷取函式substring;

3)轉換:

select  cast(substring('2016-05-02 12:00:12 fdas',1,19)

as datetime) as varchartodatetime

2樓:紫府空歌

你想太多了,sql語句沒這功能吧。

你可以在你的程式中,取出某個varchar欄位的值,然後用convert.todatetime轉為datetime格式的,在存入datetime欄位中去

3樓:

cast(你的資料 as datetime)

4樓:

convert

cast

這些函式都可以的

如何用sql把varchar型的轉化成datetime型的

5樓:匿名使用者

轉換舉例,請參考:

select cast('2016-2-20' as datetime)

select cast('2/20/2016' as datetime)

select cast('2016-2-20 11:22:33' as datetime)

select cast('2/20/2016 11:22:33.98' as datetime)

select cast('16-2-20' as datetime)

select cast('16-2-20 11:33:44' as datetime)

select cast('16/2/20' as datetime)

select cast('16/2/20 11:12:13:144' as datetime)

sql 裡怎麼把varchar轉成datetime格式

6樓:天天說情事

首先,要確定varchar格式內的資料是否符合datetime的資料格式。

其次,如果varchar資料只是部分為datetime資料,則要先擷取其中符合條件的字元,再進行轉換。

再次,通過cast函式進行轉換示例:

1.假設varchar資料為'2016-05-02 12:00:12 fdas';

2.根據資料顯示,不能直接轉換,需要利用字元擷取函式substring;

3.轉換:

select  cast(substring('2016-05-02 12:00:12 fdas',1,19)

as datetime) as varchartodatetime

7樓:匿名使用者

使用convert函式,引數格式 convert(varchar(10),getdate(),110)

第二個引數為欄位名稱,最後一個引數為指定轉換格式例:  select convert(varchar(10),getdate(),110)

檢索結果為:11-10-2015

8樓:美圖賞

如果你用的是sql server 2008的話不用轉換就能直接比較 sql server 2005 沒試過不知道

轉換的方法:

sql 中:

select convert (datetime,'07/22/1986')

select cast( '07/22/1986' as datetime)

oracle 中

select to_date(date_time_string,'yyyy-mm-dd') from table_name

你試試吧

9樓:都是賣大米的

關鍵是varchar型別資料的格式:

select convert(datetime, '2006-05-16 10:57:49', 120)

select convert(datetime, '20060516' ,112)

select convert(datetime, '2006-05-16',23)

追問:varchar型別 大小50 格式為2012-06-02 01

01為時間只到小時

我想把月份和日期修改下!但是行比較多

追答:這個可以拼一下:

select convert(datetime, '2006-05-16 10'+':00:00', 120)

然後再處理。

如何把sql datetime轉換成varchar

10樓:匿名使用者

使用convert函式,引數格式 convert(varchar(10),getdate(),110)

第二個引數為欄位名稱,最後一個引數為指定轉換格式例:  select convert(varchar(10),getdate(),110)

檢索結果為:11-10-2015

11樓:

使用函式convert

convert(data-type,欄位變數,style)

select convert(varchar(30),日期欄位,121)

即可將日期型欄位中的資料轉換為以下「1980-01-01 00:00:00.000」形式的字串

如果只取年月日,則用 convert(varchar(10),日期欄位,121)即可。

回到問題上,如果兩個欄位,varchar型別欄位名稱為 fieldchar ,datetime型別欄位名稱為fielddate, 且在同一個資料表中table,

檢索兩個欄位日期相同的紀錄,其 sql 為:

select * from table where fieldchar=convert(char(10),fielddate,121)

12樓:

你想太多了,sql語句沒這功能吧。

你可以在你的程式中,取出某個varchar欄位的值,然後用convert.todatetime轉為datetime格式的,在存入datetime欄位中去

13樓:匿名使用者

第二個表

select left(varchar(欄位),7)=『1980-01』

第一個表

substr(欄位,1,7)=『1980-01』

14樓:龍煊許萱

試試這個

convert(datetime,col_name,102)

15樓:匿名使用者

sql中的datediff函式

16樓:匿名使用者

用 convert函式,具體可要看幫助了!

sql server中,varchar轉換為datetime型別

17樓:匿名使用者

你是想 select 出來這一列資料是 datetime 格式還是要這個表結構的這列修改為 datetime 型別?

declare @str varchar(50);

set @str = '20180406'

select convert(datetime, @str, 112)

sql 2000 怎麼把varchar型別的時間怎麼轉換為datetime型別

18樓:

使用to_date(x[,format])將字串轉換為時間值

比如 to_date('01-7月-2012 18:28:23','dd-mon-yyyy hh24:mi:ss')

19樓:匿名使用者

關鍵是varchar型別資料的格式:

select convert(datetime, '2006-05-16 10:57:49', 120)

select convert(datetime, '20060516' ,112)

select convert(datetime, '2006-05-16',23)

如何實現將varchar型別轉換為datetime型別? sql server 2000裡的。

20樓:匿名使用者

其時用字元型別的做時間型別也可以,但不完整。試在資料庫要改的欄位直接改為日期看行不。再試用alter修改資料型別看看行不(如果全是2010-9-12 10:

33:5 這些資料可能可以直接改)

21樓:天氣我知道

我想你不是遇到了轉換問題 而是遇到的varchar欄位的有些資料無法轉換成日期型別的問題 我建議你寫個程式 迴圈該欄位所有行 做型別轉換 然後設定異常將轉換不成功的行的主鍵記錄下來 再用sql檢視這些異常行的該欄位內容 便可解決!

22樓:匿名使用者

1> select

2> convert(datetime, '2012-01-02 09:06:18', 120)

3> go

-----------------------2012-01-02 09:06:18.000截尾掉 時分秒的部分

1> select

2> dateadd(day,

3> datediff(day, 0, convert(datetime, '2012-01-02 09:06:18', 120)),

4> 0)

5> go

-----------------------2012-01-02 00:00:00.000(1 行受影響)

23樓:匿名使用者

create table test2 (updatetime varchar(20));

insert into test2 values ('2010-9-12 10:33:5');

select updatetime from test2 where convert(datetime,updatetime,110)>'2010-9-12'

如何實現MyBatis僅更新SQL語句中指定的欄位

update tab1 set name replace name,abc d where name like abc 如何實現mybatis僅更新sql語句中指定的欄位 物件 public class entity 資料 表 create table qai entity id char 10 n...

如何實現MyBatis僅更新SQL語句中指定的欄位

物件 資料 zhi表 dao回 create table qai entity id char 10 not null,value int not null default 0,create time timestamp not null,primary key id mybatis 配置答 如何實...

sql語句中別名怎麼使用

這裡不能用rn 你的意思可能是 select a.from select t.rownum rn from emp t order by sal desc a where rn 10 這樣就可以用了,在where條件裡面不能用本層查內詢的欄位的別名。容 與sql語句的執行順序有關 先執行的where...