Query of Queries With Date Strings

Running cold fusion 9
database query, from oracle, includes this in the select clause
, to_Char(DateRequested, 'yyyy-mm-dd') thedate
so it's a string.
Then we have a url variable.  It's called thedate and the value is 2010-06-09.
The objective is to get the record from the oracle query that matches the url variable.
But this code:
<cfquery name="ThisResource" dbtype="query">
select FundingResourceId, status, thedate
from PatientResources
where thedate = <cfqueryparam cfsqltype="cf_sql_char" value="#url.thedate#">
</cfquery>
will not return any rows.  This includes many attempts that included hard coding the value, checking for white space, etc.  Nothing I tried returned the row.  However, when I changed this:
where thedate = <cfqueryparam cfsqltype="cf_sql_char" value="#url.thedate#">
to this
where thedate LIKE <cfqueryparam cfsqltype="cf_sql_char" value="#url.thedate#">
it returned the expected record.  Note that I didn't even need a wildcard.
Anybody have any thoughts on this?

This looks like a bug to me.  I tried your example and got the same results in CF8 and CF9, though it works as expected in Railo...
It seems like it's trying to guess that you really wanted that to be a date.  Change your example from
q = QueryNew("s","varchar");
to
q = QueryNew("s");
And you'll see:
q - query
S
1
{ts '2010-06-10 00:00:00'}
z - query
S
1
{ts '2010-06-10 00:00:00'}

Similar Messages

  • Queries with date functions using PreparedStatement for multiple DB

    I am developing application that uses DB independant queries. I am using preparedstatement to process the queries. I need to use date functions for query selection criteria.
    for eg.
    selecting the list of employees who had joined in the last 15 days
    selecting list of employees who had joined between two dates etc.
    where Date Joined field is a Timestamp value. To extract date no DB specific function can be used.
    If I use setMonth, setYear etc.. to set params in the pstmt the query becomes complex in the above case. Can any one throw some light on how to do the above in preparedstatement or any other better alternative.
    Tx a lot

    Hi,
    I did not mean that way. I presume that there is a timestamp value (may be a date too) column in the table. Then based upon your requirement (say before 15 days) pass the value as date (or time stamp) in the query as a parameter.
    String qry = "select * from myTable where join_date <= ?";
    stmt.setDate(1,myDate); // this is where you will have to manipulate the value to suit your DB timestamp or date value; you will have compatibility issues with util.Date and sql.Date so use Calendar class to satisfy.Feel free to mail me if you need further clarifications to [email protected]
    Cheers,
    Sekar

  • Keyword query on property with date in query text

    Hi all,
    I have a managed property, 'onderwerp' linked to the ows_subject value. Datatype is text.
    When setting the subject of a document to the value 'test 16 april 2014 test' the document is not retrieved using the query:
    onderwerp="test 16 april 2014 test"
    After some testing I found out that the document is found when using the query:
    onderwerp="test 16 04 2014 test"
    When changing the document subject to  'test 16
    ipral 2014'  the problem dissapears.
    It seems that the search application recognizes a date value in the middle of a text value, and I have to adapt my queries to this. I can't find a setting to disable this behavior. Is this something that can be disabled?
    Thanks

    Some more info:
    For the document with subject 'test
    16 april 2014 test' the following query retrieves the document:
    onderwerp:"test 16 april 2014"
    onderwerp:"april"
    works as well, but it also retrieves other documents ofcourse.
    This query gives no results:
    onderwerp:"test 16 april 2014 test"
    But as I want to query for the exact value the goal is to retrieve the document with a query using the equals mark (=)

  • JHeadstart query operator between with date field

    Hallo,
    I am using JDeveloper 10.1.1.0.2 and JHeadstart 11 Technical Release 1.
    In my Application Definition Editor I use the Query Operator 'between' on a data-field. In my Application I can see a 'from' and 'to' date field.
    Testcase:
    In my table I have 3 dates: 1-1-2009, 17-1-2009 and 18-1-2009.
    If I use:
    Date from: 1-1-2009 and Date to: 18-1-2009 in my Application I expect to see only 2 rows (1-1-2009 and 17-1-2009). But I can see 3 rows.
    So my question is: what does 'to' mean in the JHeadstart generator? Does it include the date you fill in with the 'to' field?

    I can change the text in GeneratorText_nl.properties, but this does not completely solve my problem.
    I use a DateTimeField in my Application and if I use 'Date to' in my search criteria it seems that the Time of my Date-field is being ignored!
    Testcase:
    'Date to' in searchcriteria = 13-10-2009 *12:10:00* also gives results with the same date but time greater than 12:10:00, for example 13-10-2009 *16:10:00*.

  • Query of Queries and Dates

    I am passing two dates from one page through to another page
    in the URL like:
    Football/results.cfm?min=2008-08-23&max=2009-01-24
    On this page I am then running a query:
    <cfquery name="result" datasource="Football">
    SELECT Date as theDate, Home_Team, Home_Score, Away_Team,
    Away_Score, Notes
    FROM results
    WHERE Date BETWEEN '#url.min#' AND '#url.max#'
    ORDER BY Date, Home_Team;
    </cfquery>
    I then want to return only a subset of that query using
    another query like:
    <cfquery name="August" dbtype="query">
    SELECT theDate, Home_Team, Home_Score, Away_Team, Away_Score,
    Notes FROM result
    WHERE theDate BETWEEN '2008-08-01' AND '2008-08-31'
    ORDER BY theDate, Home_Team;
    </cfquery>
    <fieldset>
    <legend class="month"><strong>August
    </strong></legend>
    <table summary="Stagecoach Ayrshire District League
    Results - August 2008">
    <tr>
    <th scope="col">Date</th>
    <th scope="col" class="team">Home Team</th>
    <th scope="col"></th>
    <th scope="col" class="team">Away Team</th>
    <th scope="col"></th>
    <th scope="col"></th>
    </tr>
    <cfoutput query="August">
    <tr>
    <td scope="row">#theDate# </td>
    <td class="team">#Home_Team# </td>
    <td>#Home_Score# </td>
    <td class="team">#Away_Team# </td>
    <td>#Away_Score# </td>
    <td>#Notes#</td>
    </tr>
    </cfoutput>
    </table>
    <pre><a href="#Top" class="top">Return To
    Top</a></pre>
    </fieldset>
    However I am not geting any output. Any help would be
    appreciated.

    cf is picky about datatypes in QoQs - try CASTing theDate in
    your
    'result' query as date...
    Azadi Saryev
    Sabai-dee.com
    http://www.sabai-dee.com/

  • Help With Date Manipulation

    Hi Everyone,
    I need help with oracle dates. I would like to format the following dates and keep it as a DATE datatype NOT char.
    1/10/2007 8:57:45 PM TO 1/10/2007 (only the data part of SYSDATE)
    1/10/2007 8:57:45 PM TO 1/1/2007 (first of the month)
    If I use the To_Char function, it will return a character string. The problem is that I need to retain the DATE datatype so I can join this query to tables with date fields.

    This?
    sql>
    select trunc(sysdate)
    from dual;
    TRUNC(SYSD 
    01/11/2007                                                                                                                                                                           

  • Trying to pivot based on a dynamically created query which generates XML data

    Hi there,
    Hope someone can help
    I'm trying to pivot row data into a pivot type result set where the records for a given employee are pivoted to a single row.
    To do this, I've declared a dynamic query to retrieve the GUID values of the different training course- the actual course names are full of SQL escape characters e.g. ', (,) which I thought might mess up the dynamically generated query
    I've got as far as writing
    DECLARE
    @employeeidsVARCHAR(10)
    DECLARE
    @coursesVARCHAR(max)
    DECLARE
    @queryVARCHAR(max)
    SELECT
      @courses=STUFF((SELECT 
    DISTINCT[TRAIN_ID]
    FROM  
    [Megapay_IWA].[dbo].[HRS_TRAINING]
    FORXMLPATH('')
    ),2,0,'')+']'
    SET
    @query=
    'SELECT * FROM
    (  SELECT t.TRAIN_TRAINING,
       EMPL_EMPLOYEE_ID
            FROM 
    [Megapay_IWA].[dbo].[HRSTRNDONE] as tc
    left  join  Megapay_IWA.dbo.PAYEMPL  as e on tc.TRND_ONRID = e.EMPL_EMPLOYEE_id
    left join [Megapay_IWA].[dbo].[HRS_TRAINING] as t on tc.TRND_TRAIN_ID =t.TRAIN_ID
    ) t
    PIVOT (COUNT(EMPL_EMPLOYEE_ID) FOR TRAIN_ID in
    +@courses+'))
    AS pvt'
    EXECUTE
    (@query)
    which generates a dynamic query along the following lines but how to I update the query to correctly read the train_id values in the xml
    SELECT * FROM
    (  SELECT t.TRAIN_TRAINING,
       EMPL_EMPLOYEE_ID
            FROM 
    [Megapay_IWA].[dbo].[HRSTRNDONE] as tc
    left  join  Megapay_IWA.dbo.PAYEMPL  as e on tc.TRND_ONRID = e.EMPL_EMPLOYEE_id
    left join [Megapay_IWA].[dbo].[HRS_TRAINING] as t on tc.TRND_TRAIN_ID =t.TRAIN_ID
    ) t
    PIVOT (COUNT(EMPL_EMPLOYEE_ID) FOR TRAIN_ID in
    <TRAIN_ID>F607BA64-BD24-4C6F-810E-001E7487FB4B</TRAIN_ID><TRAIN_ID>784EF318-628F-407E-8844-0049E3DD8F86</TRAIN_ID><TRAIN_ID>C7F3B365-7E6C-4CDF-9F0C-010207D1E493</TRAIN_ID><TRAIN_ID>7A82C4C1-5A9F-4EB0-9988-018405D3347A</TRAIN_ID><TRAIN_ID>E3FC88F5-AF5F-4D75-816A-02085190FC5C</TRAIN_ID><TRAIN_ID>BEB39D10-7887-494C-ADCC-0254A1514D06</TRAIN_ID><TRAIN_ID>6D870918-CFA1-4ADA-8427-049FF01902AC</TRAIN_ID><TRAIN_ID>61D1B40A-A9B6-4835-82C4-04FDCCAF7E6D</TRAIN_ID><TRAIN_ID>CA6D6B7-5ACA-4BE0-8A08-0EE87F77F10E</TRAIN_ID><TRAIN_ID>F86E6E93-544E-43F5-A97A-10E96834C781</TRAIN_ID><TRAIN_ID>EB898326-705F-4E70-B7BB-119B8953DFA9</TRAIN_ID><TRAIN_ID>491BFC77-0FA9-42C5-A255-11C49AA28CDD</TRAIN_ID><TRAIN_ID>C7A972FB-1E73-41FC-A4EF-12F5811C9853</TRAIN_ID><TRAIN_ID>3FD2CEE3-E85F-4624-87D7-13767D2DB391</TRAIN_ID><TRAIN_ID>F8A784C0-6E56-4769-92D2-1480BCAB2BEA</TRAIN_ID><TRAIN_ID>60D36A51-E642-40A2-A2F7-14D158B59781</TRAIN_ID><TRAIN_ID>67ED29A3-E2AD-42EC-8312-156084C0BB26</TRAIN_ID><TRAIN_ID>64B637B9-CC7D-47C8-9220-15D5FA76E65F</TRAIN_ID><TRAIN_ID>59B5D61C-4228-485D-89EE-185B74E42F3C</TRAIN_ID>
    Note I'm also fine with updating the dynamic query to generate a statement that generates a normal where in constraint e.g.
    PIVOT (COUNT(EMPL_EMPLOYEE_ID) FOR TRAIN_ID in
    ('F607BA64-BD24-4C6F-810E-001E7487FB4B','784EF318-628F-407E-8844-0049E3DD8F86')
    Thanks
    John

    Thanks guys, that helped immensely,
    For the record here is the slightly modified version [made generic to show the overall principle] that got it working for me in the end
    DECLARE @ColumnList VARCHAR(MAX) = '';
    DECLARE @query VARCHAR(max);
    WITH Data AS (
            SELECT columnname
             FROM    dbo.table
             SELECT         @ColumnList +='[' +  [columnname] +'],'
             FROM         Data;
    SET @ColumnList = STUFF(@ColumnList, 2, 0, '');
    SET @ColumnList = LEFT(@ColumnList, LEN(@ColumnList) - 1)
    --print @columnlist
    SET @query=
    'SELECT otherfields, ' +@ColumnList +' FROM
    (  SELECT   otherfields,columnname, datefield
             FROM        dbo.table
    ) t
    PIVOT (max(datefield) FOR [columnname] in (' +@ColumnList + ')
    ) AS pvt'
    execute (@query)

  • Query of queries date comparison

    Cut to the basics, I'm trying to run the following code:
    <cfset qData = QueryNew("dataDate,ID")>
    <cfset padDate = "#DateFormat(Now(),"dd mmm yy")#
    23:59">
    <cfset queryAddRow(qData)>
    <cfset QuerySetCell(qData,"ID",1)>
    <cfset QuerySetCell(qData,"dataDate",padDate)>
    <cfset delDate = "#DateFormat(Now(),"dd mmm yy")#
    00:00">
    <cfquery name="qZero" dbtype="query">
    SELECT ID
    FROM qData
    WHERE dataDate = '#delDate#'
    </cfquery>
    This works fine in MX7 but I need to put it on a server using
    MX6.1. It appears that in 6.1 query of queries considers the
    dataDate field to be a date but will not accept a date on the right
    hand side of the equals sign in the where clause so comes up with
    'Unsupported type comparison'. Is there any way round this?

    I just ran into this problem actually.
    What appears to be happening is QoQ has trouble comparing SQL
    date types and DB date types. I had to perform an lsdateformat on
    the data to get it to process.
    I am also looking into a problem where QoQ is switching my
    dates to strings. CF has yet to impress me. For every kind of cool
    thing they do there are 25 lame things.

  • Problem using DECODE() function with a Query of Queries

    I
    posted
    on my blog about an issue I was having trying to use the PL/SQL
    DECODE() function with a Coldfusion Query of Queries. This function
    works fine when you query a database for information. However, when
    you query another query, it seems that CF doesn't recognize it. I
    got errors stating that it found a left parenthesis where it
    expected a FROM key word. Here is a simplified version of what I am
    trying to do:
    quote:
    <!--- Simulated query; similar to what I was calling from
    my database --->
    <cfscript>
    qOriginal = queryNew("Name,Email,CountryCode",
    "VarChar,VarChar,VarChar");
    newRow = queryAddRow(qOriginal, 5);
    querySetCell(qOriginal, "Name", "Joe", 1);
    querySetCell(qOriginal, "Email", "[email protected]", 1);
    querySetCell(qOriginal, "CountryCode", "AMER", 1);
    querySetCell(qOriginal, "Name", "Sally", 2);
    querySetCell(qOriginal, "Email", "[email protected]", 2);
    querySetCell(qOriginal, "CountryCode", "AMER", 2);
    querySetCell(qOriginal, "Name", "Bob", 3);
    querySetCell(qOriginal, "Email", "[email protected]", 3);
    querySetCell(qOriginal, "CountryCode", "ASIA", 3);
    querySetCell(qOriginal, "Name", "Mary", 4);
    querySetCell(qOriginal, "Email", "[email protected]", 4);
    querySetCell(qOriginal, "CountryCode", "EURO", 4);
    querySetCell(qOriginal, "Name", "John", 5);
    querySetCell(qOriginal, "Email", "[email protected]", 5);
    querySetCell(qOriginal, "CountryCode", "EURO", 5);
    </cfscript>
    <cfquery name="qCountries" dbtype="query">
    SELECT DISTINCT(CountryCode) AS CountryCode,
    DECODE(states, "AMER", "North America &amp; Canada",
    "EURO", "Europe &amp; Africa", "ASIA", "Japan &amp;
    Asia","") CountryName
    FROM qOriginal
    ORDER BY CountryCode
    </cfquery>
    <cfdump var="#qCountries#">
    <!--- ========== END OF CODE ========== --->
    So running this returned the following error:
    Query Of Queries syntax error.
    Encountered "(. Incorrect Select Statement, Expecting a
    'FROM', but encountered '(' instead, A select statement should have
    a 'FROM' construct.
    Does anybody know why this doesn't work? Is it just not
    supported? Please note that I have also tried to use the CASE()
    function instead of DECODE() and that resulted in basically the
    same error. For now I an looping over my distinct query with a
    switch statement and manually loading a new query with the data how
    I want it. But it would be a lot cleaner and less code to have the
    DECODE() to work. Thx!

    DECODE() is an Oracle function, not generic SQL. Q-of-Q is a
    very limited subset of SQL and lacks many functions and clauses
    available in standard SQL, especially what you may be used to using
    in your particular RDBMS.
    See
    Query
    of Queries user guide
    Phil

  • Query to extract HTML tag with data

    Hi All,
    I have a string.
    '<HTML><HEAD>THIS IS HEAD.</HEAD><BODY>THIS IS BODY.<P>THIS IS P1.</P>NIMISH<P>THIS IS P2.</P></BODY></HTML>'
    I want to extract a html tag including its opening & closing tab with data as
    if i say P1
    then the output should be
    '<P>THIS IS P1.</P>'
    for P2
    then the output should be
    <P>THIS IS P2.</P>
    please help me in writing this query with regular expression
    i have tried it as following but it is not giving desired result:
    WITH T AS
    SELECT
        '<HTML><HEAD>THIS IS HEAD.</HEAD><BODY>THIS IS BODY.<P>THIS IS P1.</P>NIMISH<P>THIS IS P2.</P></BODY></HTML>' STR
    FROM   
        DUAL
    SELECT REGEXP_SUBSTR(STR, '<P>.+P2.+</P>') FROM T
    Thanks & Regards
    Nimish GargEdited by: Nimish Garg on May 7, 2012 5:49 PM

    Nimish Garg wrote:
    My requirement is to extract a <tag>data</tag> from a HTML/XML string
    where data contains any specified value.HTML is not XML.
    And that is a critical distinction to make. HTML parsing is horribly complex. XML is quite easy. For HTML you have to code your own parser in PL/SQL. XML can be parsed using the XMLTYPE class/data type in PL/SQL.
    So if you need to find a single specific tag in HTML - I would not try to treat it as XML. I may not even try to use regular expressions.
    I would do a basic substring search for the start of the tag. Read the data following the tag. Ensure that there are no nested or embedded tags in the data. Until the end tag is read. Because HTML is that much abused - and because that is an accepted norm as parsers used by browsers deals with that abuse without complaining.
    Proper HTML is mostly a myth in my experience of "screen scraping" web servers for data extraction as they do not have web services supplying the data.

  • Query Not reflected with Updated Data

    Dear Experts,
    I am facing a Problem in query data updation.    Data has been daily updating in infoprovider successfully ,But when user run query through Bex he is always shown old data.  Then I go to RSRT and generate the query and data got updated.
    Every Time for new data updation I need to Generate the query.
    What could be reason for this.  Is this related to cache data ?
    Any Advise .
    Thanks in Advance.

    Dear Michael,
    This problem is coming only for one Multiprovider.   Running this program would affect all other queries also . This will Delay the reporting.
    Any other reason why query is reflected with old data Though infoprovide is loaded with new data.

  • How to compare result from sql query with data writen in html input tag?

    how to compare result
    from sql query with data
    writen in html input tag?
    I need to compare
    user and password in html form
    with all user and password in database
    how to do this?
    or put the resulr from sql query
    in array
    please help me?

    Hi dejani
    first get the user name and password enter by the user
    using
    String sUsername=request.getParameter("name of the textfield");
    String sPassword=request.getParameter("name of the textfield");
    after executeQuery() statement
    int exist=0;
    while(rs.next())
    String sUserId= rs.getString("username");
    String sPass_wd= rs.getString("password");
    if(sUserId.equals(sUsername) && sPass_wd.equals(sPassword))
    exist=1;
    if(exist==1)
    out.println("user exist");
    else
    out.println("not exist");

  • Can we suppress execution of a query so as to optionally execute queries in data modl

    Can we suppress execution of a query so that we optionally execute queries?0
    I have a combo box in Parameter Form. It has 3 options. I have 3 queries in Data Model.
    I want to execute only one of these 3 queries based on user's selection from combo box.
    I want that other 2 queries do NOT execute at all for that processing cycle. Next time user selects other option and an other query is executed and other 2 are NOT executed and so on.
    Is it possible in Reports 6i in Client/server?
    Pl. guide.
    Tariq

    Include:
    AND :parameter = <this query's value> (e.g. 1 or "SALES" or whatever)
    in each query's where clause. Because this is 2 constants (as far as the SQL interpreter is concerned) it will evaluate it first. If the parameter is set to a value not for this query then it will return no rows with minimal overhead.

  • Writing query to Oracle DB with DATE field in it.

    When I try to execute the following query on Oracle DB I get an exception. I know that the problem is with Date representation on the query string. Please, if anyone knows how to make it work help me.
    query = "INSERT INTO MYTABLE (NAME , BIRTHDAY ) VALUES ('" + person.getName() +" ' , " + person.getBirthday() + " )";
    statment.executeUpdate(query);
    getBirthday() returns java.sql.Date object.
    Please, please, help to work it out!

    Thank you, very much.
    I've put the record into DB!!!! Hurray!
    But now I have another problem. I've got a ResultSet & I'd like to extract the DATE from it. But how?
    The Exception text states that the name of the field (Birthday) is incorrect.
    My code:
    Date birthday = resultSet.getDate("Birthday");
    All other fields are perfectly well extracted, but they are Strings.

  • Slow response  on data dictionary queries with optimizer_mode=rule in  10g

    I have two dataabse: DB1 (9i) and DB2 (10g) on windows 2000
    They are two development databases with the same schemas and same tables. The application executes the same commands but with different results and execution plans.
    In DB2 the queries with the most slow response tima are the queries on the data dictionary (for example: all_synonyms).
    These query are very fast with the optimizer_mode=cost and very slow with the optimizer_mode=rule.
    And the the problem is this:
    in DB1 and DB2 the application executes after the connection this command:
    ALTER SESSION SET OPTIMIZER_MODE = 'RULE';
    These are the traces of the session in db1 and db2:
    The queries are created dynamically by the application.
    Is there a solution for this?
    thanks
    Message was edited by:
    user596611

    Here is a simple example of what can happen,
    @>alter session set optimizer_mode=all_rows;
    @>SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());
    PLAN_TABLE_OUTPUT
    | Id  | Operation        | Name | Rows  | Cost (%CPU)|
    |   0 | SELECT STATEMENT |      |     1 |     2   (0)|
    |   1 |  FAST DUAL       |      |     1 |     2   (0)|
    @>alter session set optimizer_mode=rule;
    @>SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());
    PLAN_TABLE_OUTPUT
    | Id  | Operation        | Name |
    |   0 | SELECT STATEMENT |      |
    |   1 |  FAST DUAL       |      |
    Note
          - rule based optimizer used (consider using cbo)As you can see incomplete explain plans. Therefore it is not advised.
    Adith

Maybe you are looking for

  • Crystal Report generation using XML

    I have some reports that were created using XML and as I recall when I created them using CR v. 9 I used a connections called ADO (Xml) or something like that. On one of my machines I have CR XI and the only option available is XML and when I add a f

  • Can't open a Gift App

    I sent my parents an App as a gift. It was a Game for the iPad. But they were not able to download it. Is there a special procedure for them to download Games on the iPad? Please help. PS. I'm in the US but they reside in Singapore, does that factor

  • Can't install Final Cut Pro 5 on a New Macbook pro

    My macbook has a 2.8ghz processor and meets all of the required hardware and software but it says that it does not and will not install. I am new to Mac and do not know how to fix this or who to contact.

  • Is there any way too see all data on all enteties an user owns.

    Hi all, Is there any way to see all data an user owns in CRM2011? Maybe an custom report or view?

  • HT5167 with Mac OS X 10.6.8 ?

    can i dl and update OS X Lion v10.7.4 if my current is OS X 10.6.8 ?