我正在vb.net中的按钮代码后面编写一个oracle查询,并在我的WHERE子句中注释掉行后,我认为大括号阻止了我的查询工作。
Dim sQuery As New IO.StringWriter
With sQuery
.WriteLine("SELECT ...")
.WriteLine("FROM ... ")
.WriteLine("WHERE ... ")
.WriteLine("AND ((dateValue>={ts '2014-01-01 00:00:00'} ")
.WriteLine("AND dateValue2<{ts '2015-01-01 00:00:00'}) ")
.WriteLine("AND ROWNUM =1 ")
答案 0 :(得分:1)
我不明白为什么你试图逃避查询,因为没有大括号就没关系。
使用to_date将文本转换为日期:
.WriteLine("SELECT ...")
.WriteLine("FROM ... ")
.WriteLine("WHERE ... ")
.WriteLine("AND ((dateValue>= to_date('2014-01-01 00:00:00', 'yyyy-MM-dd HH24:mi:ss') ")
.WriteLine("AND dateValue2<to_date('2015-01-01 00:00:00', 'yyyy-MM-dd HH24:mi:ss')) ")
.WriteLine("AND ROWNUM =1 ")
答案 1 :(得分:1)
我认为您可以简化此查询:
.WriteLine("SELECT ...")
.WriteLine("FROM ... ")
.WriteLine("WHERE ... ")
.WriteLine("AND dateValue >= '2014-01-01' ")
.WriteLine("AND dateValue2 < '2015-01-01' ")
.WriteLine("AND ROWNUM =1 ")