亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Mysql 在日期欄位中傳回一些記錄為空,因?yàn)槿掌谟卸喾N格式
P粉649990163
P粉649990163 2024-04-06 13:29:40
0
1
943

我正在嘗試分析order_date 列,並且列具有多種日期格式,我想將所有這些日期轉(zhuǎn)換為相同的格式,這將使分析order_date 變得更容易。

我正在嘗試分析 order_date 但是此列有多種日期格式 2019/07/151/13/2014

#但是,在使用查詢將不同格式的日期轉(zhuǎn)換為一種格式 yyyy/mm/dd 時(shí)。 select date_format(order_date, '%y/%m/%d'),orderid from superstore;

#它顯示像這樣的空值。

我也嘗試過(guò)使用“CAST”,但它顯示每個(gè)值都為空。

選擇 order_date 像 '%Y' 時(shí)的情況,然後 date_format(order_date, '%Y/%m/%d') else null end as newdate from superstore;

#
P粉649990163
P粉649990163

全部回覆(1)
P粉322918729

date_format 函數(shù)用於格式化您應(yīng)該使用的日期資料類型https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to -date 任何null str_to_date 傳回的值要麼失敗,要麼以空值開始。您需要檢查這些並適當(dāng)調(diào)整 str_to_date 參數(shù)。但有一個(gè)問(wèn)題是 20/2/20 y/m/d 或 d/m/y(例如),如何區(qū)分月份和日期都 例如

drop table if exists t;
create table t
(dt varchar(10));
insert into t values
('1/1/2020'),('2020/1/12'),('12/12/12'),(null),('13-14-15');

select dt,
        case when length(substring_index(dt,'/',-1)) = 4  then str_to_date(dt,'%d/%m/%Y')
             when length(substring_index(dt,'/',1)) = 4  then str_to_date(dt,'%Y/%m/%d')
             when length(substring_index(dt,'/',1)) = 2  then str_to_date(dt,'%y/%m/%d')
             else str_to_date(dt,'%y/%m/%d')
        end  dateformatted
from t;

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=553219f33ad9e9a4404fc4c0cb65 71c9一個(gè)>

#請(qǐng)注意,在任何情況下我都無(wú)法識(shí)別月份和日期,有時(shí)甚至是年份..

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板