台灣最大程式設計社群網站
線上人數
1050
 
會員總數:241752
討論主題:187055
歡迎您免費加入會員
討論區列表 >> MS SQL >> 文字格式資料轉日期格式
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
文字格式資料轉日期格式
價值 : 30 QP  點閱數:151 回應數:6

樓主

雲林仔
初學者
961 1488
8343 1211
發送站內信

請教大家
在資料庫資料表中,其內容以下列格式儲存,要如何將其轉成日期的格式呢?感謝
20170102
20180103
20180105
20180102
20171231
20171101




搜尋相關Tags的文章: [ 欄位 ] ,
本篇文章發表於2018-01-08 21:00
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
declare @str nvarchar(8)
set @str='20170102'
declare @d datetime
set @d= left(@str,4)+'/'+substring(@str,5,2)+'/'+substring(@str,7,2)
select @d
本篇文章回覆於2018-01-08 21:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

pilipala
檢舉此回應

之前討論,參考看看
http://www.blueshop.com.tw/board/FUM20041006152735ZFS/BRD20130628094424111.html
本篇文章回覆於2018-01-08 22:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小魚
檢舉此回應
SELECT convert(datetime, '20170102')
本篇文章回覆於2018-01-09 12:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

LuLu
檢舉此回應
最基本也最簡單的方法就是像1樓說的分割字元,判斷在第4個第6個字元以後加入'/',例如:2017+"/"+01+"/"+02,再轉換成datetime格式
不知道你用什麼語法,如果是c#的話,

本篇文章回覆於2018-01-10 18:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Hsu,Harry
檢舉此回應

1. 直接使用CAST
2. 若需額外運算,則可直接使用 DATEADD()函數
3. 如有時間,則可使用agent_datetime函數
基本用法可參考 http://sqlqna.blogspot.tw/2018/01/mssql.html
本篇文章回覆於2018-01-13 14:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

雲林仔
檢舉此回應
感謝大家的幫忙
我覺得大家的方式都很棒 我是使用下列的方式來解決 (他可能不是好的解決方式 但可以參考之)
select LEFT(bandanakey,4) || '/' || substring(bandanakey,5,2) || '/' || right(bandanakey,2) from bandana
本篇文章回覆於2018-01-13 19:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.