C# 以dd-mm-yyyy-sql server格式从字符串获取年份
我正在SQL server compact edition中以“dd-mm-yyyy”格式将日期存储为“varchar”类型。我想检索“yyy”部分,我将使用它对数据库中的记录进行分组。我尝试将其转换为DateTime格式,结果出现错误“日期或时间部分无效”。您可以改用:C# 以dd-mm-yyyy-sql server格式从字符串获取年份,c#,sql,datetime,sql-server-ce,C#,Sql,Datetime,Sql Server Ce,我正在SQL server compact edition中以“dd-mm-yyyy”格式将日期存储为“varchar”类型。我想检索“yyy”部分,我将使用它对数据库中的记录进行分组。我尝试将其转换为DateTime格式,结果出现错误“日期或时间部分无效”。您可以改用: select substring(fieldName, 6, 10) from table 交替地 SELECT Year(CAST(fieldName as datetime) as DateField) from Tab
select substring(fieldName, 6, 10) from table
交替地
SELECT Year(CAST(fieldName as datetime) as DateField) from Table
希望这会有帮助 试试看
select year(Convert(datetime,fieldName,103)) as MyYearResult
这将更有帮助 你能用你试过的代码更新这个问题吗你不应该把日期存储为字符串——那样只会自找麻烦。使用
DATE
或DATETIME
数据类型!我觉得这篇文章很有启发性。我不再将日期存储为字符串。谢谢你指导我走向最佳实践。非常感谢。我使用“子字符串”函数来获取年份。我想SQL server compact edition不支持“Year”函数。谢谢,我认为LotusSQLServerCompact版不支持“年”功能。这给了我一个错误。