【发布时间】:2015-11-07 20:14:45
【问题描述】:
根据我之前的问题 VB.net SQL statement to query 1 yr old Timestamp ,我用于回顾一年记录的 SQl 查询在中途停止并出现以下错误:Select Error: ORA-01830: date format picture ends before converting entire input string。
因此,我决定对距当前日期不超过一年的行执行不同的路由。
为此,我将在 VB.net 中创建以下 SELECT 语句:
Dim strSearch As String = "Select timestampVal from table_name WHERE timestampVal > " & minusYear & " order by timestampVal DESC"
对于我的 SELECT 语句中的 minusYear 变量,我将首先提取以下当前日期字符串:
Dim sign As String = DateTime.Now.ToString("yyyyMMdd-hhmmss")
但是,要获得minusYear,我需要以某种方式从sign 减去一年。
我试过Dim minusYear As String = DateTime.Now.AddYears(-1);但是它的格式像MM\DD\YYYY HH:MI:SS PM 这样不起作用,因为我需要查询字符串在哪里看起来像yyyyMMdd-hhmmss。
有没有办法从我的符号字符串中减去 1 年?我尝试了,但当然存在数据类型问题,并且将字符串转换为 CInt 并不起作用。 p>
如果我可以得到 1 年的减号来得到minusYear,那么我的 select 语句就可以工作了[我已经在 SQL 中对其进行了测试,所以这种方式可以工作,我只需要得到sign's 的值减去一年]
【问题讨论】:
标签: sql vb.net datetime tostring