我有一列stocked
作爲nvarchar(50)
包含這種格式的日期('yyyy/mm/dd')
,我想將它轉換爲日期,所以我可以做一些日期和時間來做進一步的比較。SQL服務器將字符串轉換爲日期列
什麼,我到目前爲止一直看到(當時很多關於石膏和轉換),總是導致類似的東西:
「消息242,級別16,狀態3,行1 將varchar數據類型轉換爲日期時間數據類型導致超出範圍的值。「
我有一列stocked
作爲nvarchar(50)
包含這種格式的日期('yyyy/mm/dd')
,我想將它轉換爲日期,所以我可以做一些日期和時間來做進一步的比較。SQL服務器將字符串轉換爲日期列
什麼,我到目前爲止一直看到(當時很多關於石膏和轉換),總是導致類似的東西:
「消息242,級別16,狀態3,行1 將varchar數據類型轉換爲日期時間數據類型導致超出範圍的值。「
使用
ISDATE(表達式)
返回1,如果該表達式是有效的日期,時間,或日期時間值; 否則爲0.
很有可能您的數據無法正確轉換。您可以使用查詢像下面來看看這個問題的數據(這個作品在SQL服務器2012及以上)
declare @tableName table(stocked nvarchar(50));
insert into @tableName values
('2017/12/31'),('2017/11/11'),('2017/11/13'),('2017/13/11');
SET DATEFORMAT ymd;
select
stocked,
TRY_PARSE(stocked as datetime)
from @tableName
where TRY_PARSE(stocked as datetime) is NULL;
Basicly我有我插入到SQL Server 2014的Excel表格,沒有管理就轉換數據迄今在插入,但我想這將是少於工作的插入方式比以後轉換它的痛苦
第一個數據庫設計錯誤:_I有一個列存儲爲nvarchar(50)包含dates_更改列是日期 – RiggsFolly
mysql或sql server? –
使用[STR_TO_DATE](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_str-to-date) –