sql - 作为文本字段的日期操作

标签 sql ms-access

我使用 Access 2010 作为 SQL Server 2008 上数据库的前端。我有一个存储为 nvarchar(50) 的日期字段。我在文本字段 DateHr 12/04/11 16:49:23 中有以下值,它应该转换为 April 11, 2012 4:49 PM (原样创建记录的日期和时间。)。

我无法将字段的数据类型更改为 DateTime,因为它会使日期更加困惑(Ex. 12/4/2011 4:49:23 PM)。我无法更改记录的输入方式。

我需要以“mm/dd/yy”格式显示此字段,并能够以这种格式执行 where 子句。

我尝试了以下操作,只是为了查看它是否正确显示,但 dtDate 显示 11/12/04:

选择 (Format(CDate([DateHr]),"yy/mm/dd")) 作为 dtDate

最佳答案

如果您需要在 Access 中进行转换,那么您可以尝试以下任一方法:

Select Mid([DateHr],4,2) & "/" & Mid([DateHr],1,2) & "/" & Mid([DateHr],7,2) as dtDate

我认为这将为您提供字符串格式的日期,否则您可以尝试以下方法以有效的日期格式获取它:

Select Format(DateSerial(Mid([DateHr],7,2),Mid([DateHr],4,2),Mid([DateHr],1,2)),"MM/DD/YYYY") as dtDate

关于sql - 作为文本字段的日期操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123593/

相关文章:

c# - 通过 OLEDB 连接到 ACCDB 格式的 MS-ACCESS 数据库

excel - MS Access 2003 - Access 表单上嵌入的 Excel 电子表格

mysql - 以变​​量为参数的 SQL 更新

SQL:在内部使用过滤器查看或在选择时使用过滤器查看

sql - Postgres 数组作为 where 子句的函数输入

c# - Linq 查询不获取记录

sql - 使用一对多连接的 SQL 更新行为

vba - 错误消息 : Impossible to create ACCDE, MDE 或 ADE

SQL 查询连接具有不同列数的两个不同查询

java - UCanAccess Java 执行错误