SimpleDateFormat日期轉化錯誤?
把2017年12月31日轉化爲2018-12-31
SimpleDateFormat f = new SimpleDateFormat("YYYY-MM-dd");
f.format(date);
把2017年12月31日轉化爲2018-12-31
正確寫法應該是:
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
dateFormat(date, pattern[,language])用於將時間格式化爲期望的字符串,其中date可以是時間字符串,也可以是Date對象,pattern爲格式化參數,yyyy表示年,MM表示月,dd表示天數,HH表示小時,mm表示分鐘,ss表示秒.比如dateFormat("2006-07-04 12:12:12", "日期:yyyy-MM-dd HH:mm:ss") 將返回"日期:2006-07-04 12:12:12".
YYYY是小寫yyyy
一個字段變更前多條記錄變更後也是多條,怎麼用sql拼到一起?
具體如下:
先不管這麼多,我先把變更前變更後都left join過去
結果發現是這樣的
然後想到應該使用全外連接full join,但是mysql沒有full join,需要通A left join B union A right join B 實現
但是這個A對應D和B對應E的條件是什麼呢?A和D並沒有直接關係,請教了一下同事,先把ABC和DE分別排序,然後序號相等的連接起來,
生成序號的sql爲:ROW_NUMBER () OVER () AS XUHAO,
但是我發現我一個sql裏有很多人員,而且同一個人員會有不同日期的變更,單純的按照變更前變更後生產序號已經不能滿足了
然後去百度了一下sql的over這個關鍵字發現他後面還有兩個屬性
ROW_NUMBER () OVER (partition by coloumn1,order by coloumn2) AS XUHAO,
含義爲按column1指定的字段進行分組,或者說按字段column1的值進行分組排序。
按column2 進行排序
然後我根據我的人員編號的變更日期對數據集進行排序,
ROW_NUMBER () OVER (partition by 人員編號,變更日期,order by 變更日期) AS XUHAO,
然後再全連接