c# - 从字符串 C# 应用程序转换日期和/或时间时转换失败
问题描述
我正在尝试返回在当前日期生日的数据库记录。我目前遇到转换错误。
这是代码我DOB
在我的数据库上使用 varchar。请我需要帮助。
string query = @"SELECT Names, FamilyName, PhoneNo, gender, DOB, Email
FROM Members
WHERE month(Members.DOB) = month(getdate())
AND day(Members.DOB) = day(getdate())";
我收到此错误:
System.Data.SqlClient.SqlException:'从字符串转换日期和/或时间时转换失败。
解决方案
例外是因为您正在尝试为 varchar 数据类型 column调用Month
和函数。您应该在子句中将此列值转换为-YEAR
Members.DOB
datetime
where
string query = @"SELECT Names, FamilyName, PhoneNo, gender, DOB, Email
FROM Members
WHERE month(convert(datetime,Members.DOB,105)) = month(getdate())
AND day(convert(datetime,Members.DOB,105)) = day(getdate())";
在上述转换中,第三个参数105
是 DOB 列中日期值的格式,样式代码105
代表dd-mm-yyyy
格式,您可以在此处找到更多样式代码。
推荐阅读
- c# - 系统线程任务字符串到字符串转换错误
- mysql - 大量列,全选需要永远
- pandas - 如何计算数据透视表中的总方差
- c# - 有没有办法在不使用 codesmith 的情况下向 NetTiers 模型添加新列?
- php - 如何使用 mod-rewrite 相应地重定向 API 调用和 Web 应用程序调用
- google-play - 为什么我的应用程序更新在 Google Play 商店中被拒绝,尽管我提交了多次需要的测试登录?
- c# - .Net 反应式扩展:删除重播
- solaris - 框架错误:代码:60 原因:SSL 证书问题:无法在 solaris 11.3 中获取本地颁发者证书
- sorting - 如何在 Hybris 中隐藏特定页面的排序选项
- java - 我的情况无法正常工作我的应用程序在单击按钮时崩溃