Varchar to datetime conversion out-of-range

I'm importing data from CSV and I get the following conversion datetime error:
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.
I'm using the following statement to convert the datetime from varchar(100) to datetime:
CONVERT (datetime,TimeIndex,103)
The date in the CSV is in the following format:
2015-01-31 23:58:19
Any ideas what could be causing this?
Thanks in advance
Adam

This could be because of british/American date formats.
Try importing the following dates: -
2015-01-01
2015-01-02
2015-01-12
... and see if that works, then try importing 2015-01-13 and see if that works
Please click "Mark As Answer" if my post helped. Tony C.

Similar Messages

  • Varchar to datetime conversion

    I have a column which has 05MAY2006:04:34:00.000000 it is stored as varchar(25). I need to save it as datetime in the same column. I have tried using 
    update tablename
    set columnname = (SUBSTRING(columnname,1,2) + '-' + SUBSTRING(columnname,3,3) + '-' + 
    SUBSTRING(columnname,6,4) + ' ' + SUBSTRING(columnname,11,8));
    and then 
    alter table tablename
    alter columnname datetime;
    but later it shows up the error
    Msg 242, Level 16, State 3, Line 1
    The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
    How do I change it any other opinion or any modification for the above query. Please help. Thank you.

    UPDATE myTable
    SET targetColumn = STUFF ( targetColumn , 10, 1, ' ')
    -- ddmmmyyyy:hh:mm:ss.nnnnnn
    -- this colon is extra which is at 10th positionALTER TABLE tablenameALTER COLUMN columnnamedatetime2;
    vinny

  • Varchar to Datetime conversion and selecting latest datead records

    Hi:
    I've a table as below:
    ActionDate|Status|Name
    23/10/2012|Block|James
    24/10/2012|Open|James
    25/10/2012|Block|James
    20/09/2012|Block|Tanya
    17/09/2012|Block|Fox
    18/09/2012|Open|Fox
    27/08/2012|Block|Martin
    27/08/2012|Open|Martin
    Desired Output is as follows:
    ActionDate|Status|Name
    25/10/2012|Block|James
    20/09/2012|Block|Tanya
    Select those records only which has Block staus on most recent date. It will also eliminate those which has Open status on the same date.
    One more problem is the ActionDate field is actually Varchar2 type and there are mismatch as well. For example: some of those are in MM/DD/YYYY and
    some are in DD/MM/YYYY
    So, how can I convert these strings into formated date and make the desired output in a single query. Please let me know.
    Thanks/Tanvir

    Hi, Tanvir,
    853856 wrote:
    Hi:
    I've a table as below:
    ActionDate|Status|Name
    23/10/2012|Block|James
    24/10/2012|Open|James
    25/10/2012|Block|James
    20/09/2012|Block|Tanya
    17/09/2012|Block|Fox
    18/09/2012|Open|Fox
    27/08/2012|Block|Martin
    27/08/2012|Open|MartinWhenever you have a problem, please post CREATE TABLE and INSERT statements for your sample data.
    Desired Output is as follows:
    ActionDate|Status|Name
    25/10/2012|Block|James
    20/09/2012|Block|TanyaSee the forum FAQ {message:id=9360002} for how to format the ouptut on this site (among other things).
    Select those records only which has Block staus on most recent date. It will also eliminate those which has Open status on the same date.
    One more problem is the ActionDate field is actually Varchar2 type That's not a very good idea. This problem shows just one of the many reasons why you should always use DATE columns for date information.
    and there are mismatch as well. For example: some of those are in MM/DD/YYYY and
    some are in DD/MM/YYYYThe you have no way of knowing if '01/12/2012' means January 12 or December 1. The query below arbitrarily assumes that will be December 1.
    So, how can I convert these strings into formated date and make the desired output in a single query. Please let me know.
    Thanks/TanvirHere's one way:
    WITH     got_real_actiondate     AS
         SELECT     TO_DATE ( actiondate
                   , CASE
                             WHEN  SUBSTR (actiondate, 4, 2)     <= '12'
                         THEN  'MM/DD/YYYY'
                         ELSE  'DD/MM/YYYY'
                     END
                   )     AS real_actiondate
         ,     status
         ,     name
         FROM     a_table
    ,     got_r_num     AS
         SELECT     real_actiondate
         ,     status
         ,     name
         ,     ROW_NUMBER () OVER ( PARTITION BY  name
                                   ORDER BY          real_actindate     DESC
                             ,                CASE
                                              WHEN  status = 'Open'
                                         THEN  1
                                         ELSE  2
                                          END
                           ) AS r_num
         FROM    got_real_actiondate
    SELECT     real_actiondate
    ,     status
    ,     name
    FROM     got_r_num
    WHERE     r_num     = 1
    AND     status     != 'Open'
    ;This assumes that actiondate is in either 'DD/MM/YYYY' or 'MM/DD/YYYY' format, which is very optimistic. If you sometimes have other formats as well, and/or text that can't be interpreted as a date in any format, then see {message:id=4252963}
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all the tables involved, and the results you want from that data.
    In the case of a DML operation (such as INSERT) the sample data should show what the tables are like before the DML, and the results will be the contents of the changed table(s) after the DML.
    Explain, using specific examples, how you get those results from that data.
    Always say what version of Oracle you're using (e.g. 11.2.0.2.0).
    See the forum FAQ {message:id=9360002}

  • The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

    I am trying to insert records into a temporary table with date values concatenated with other string values  into one large string value.I am getting the following error:
    Msg 242, Level 16, State 3, Line 12
    The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
    Msg 241, Level 16, State 1, Line 28
    Conversion failed when converting date and/or time from character string.
    -My code below
    Declare
           @hdrLOCAL char(255),                                                       
        @CR char(255),                                                             
        @BLDCHKDT DATETIME,                                                         
        @BLDCHTIME DATETIME,                                                         
        @hdrline int
        SELECT @hdrLOCAL = DDLINE FROM DD40400 WHERE INDXLONG =1
        SELECT @CR = DDLINE FROM DD40400 WHERE INDXLONG =2
        SELECT @hdrline =1
        SELECT
                @BLDCHKDT = CONVERT(varchar(20),T756.PAYDATE,105) ,
                -- convert(varchar,getdate(),15)
                @BLDCHTIME= CONVERT(varchar(20),T756.PAYDATE,105)
                FROM STATS.dbo.DD10500 T762
                LEFT OUTER JOIN STATS.dbo.DD10400 T756 ON (
                        T762.INDXLONG = T756.INDXLONG
                        AND T756.INCLPYMT = 1
                WHERE (T756.INCLPYMT = 1)
                    AND (T762.DDAMTDLR <> 0)
      Create TABLE [dbo].[##DD10200B](
        [INDXLONG] [int] NOT NULL,
        [DDLINE] [varchar](8000) NOT NULL,
        [DEX_ROW_ID] [int] IDENTITY(1,1) NOT NULL,
    BEGIN
    INSERT INTO ##DD10200B (INDXLONG,DDLINE)
            VALUES (1,@hdrLOCAL +',' + @CR +','+ @BLDCHKDT +',' + @BLDCHTIME )
    END
    Msg 242, Level 16, State 3, Line 12
    The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
    Msg 241, Level 16, State 1, Line 28
    Conversion failed when converting date and/or time from character string.
    The Best thing in Life is Life

    Since the Variable
    BLDCHKDT and BLDCHTIME are of type date time why are you trying to assign it a value
    of type varchar
    and the format 105 gives you dd-mm-yyyy but SQL server takes the default format as mm-dd-yyyy so the error occurs for all dates that
    are greater than 12
    try the below code
    Declare
    @hdrLOCAL char(255),
    @CR char(255),
    @BLDCHKDT Varchar(50),
    @BLDCHTIME Varchar(50),
    @hdrline int
    SELECT @hdrLOCAL = DDLINE FROM DD40400 WHERE INDXLONG =1
    SELECT @CR = DDLINE FROM DD40400 WHERE INDXLONG =2
    SELECT @hdrline =1
    SELECT
    @BLDCHKDT = CONVERT(varchar(20),T756.PAYDATE,105) ,
    -- convert(varchar,getdate(),15)
    @BLDCHTIME= CONVERT(varchar(20),T756.PAYDATE,105)
    FROM STATS.dbo.DD10500 T762
    LEFT OUTER JOIN STATS.dbo.DD10400 T756 ON (
    T762.INDXLONG = T756.INDXLONG
    AND T756.INCLPYMT = 1
    WHERE (T756.INCLPYMT = 1)
    AND (T762.DDAMTDLR <> 0)
    Create TABLE [dbo].[##DD10200B](
    [INDXLONG] [int] NOT NULL,
    [DDLINE] [varchar](8000) NOT NULL,
    [DEX_ROW_ID] [int] IDENTITY(1,1) NOT NULL,
    BEGIN
    INSERT INTO ##DD10200B (INDXLONG,DDLINE)
    VALUES (1,@hdrLOCAL +',' + @CR +','+ @BLDCHKDT +',' + @BLDCHTIME )
    END
    the only change done is 
    @BLDCHKDT Varchar(50),
    @BLDCHTIME Varchar(50),
    Surender Singh Bhadauria
    My Blog

  • The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value.

    Below select statement results in "The conversion of a nvarchar data type to a datetime data type resulted in an out of range value"   error. By the way Terms
    field's data type is nvarchar
     SELECT * from INVOICE
    where convert(datetime,Terms) 
    BETWEEN
    '01/01/14'
    and
    '01/30/15' 

    If you can't use TRY_CONVERT (It's only available in 2012+) You should be able to validate the data with something like this (based on your example date formats):
    DECLARE @notDate TABLE (Terms NVARCHAR(10))
    INSERT INTO @notDate (Terms) VALUES
    ('01/01/14'),('02/29/14'),('01/32/15'),('13/13/14'),('13/3/14'),('13-13/14'),('02/29/12'),('02/29/13')
    SELECT *,
    CASE WHEN (LEN(Terms) - 2) <> LEN(REPLACE(Terms,'/','')) OR LEN(Terms) <> 8 THEN 'Bad Form'
    WHEN LEFT(Terms,2) > 12 THEN 'Bad Month'
    WHEN LEFT(Terms,2) IN (9,4,6,11) AND LEFT(RIGHT(Terms,5),2) > '30' THEN 'Bad Day'
    WHEN LEFT(Terms,2) = 2 AND LEFT(RIGHT(Terms,5),2) > (28 + CASE WHEN (2000+RIGHT(Terms,2)) % 400 = 0 THEN 1 WHEN (2000+RIGHT(Terms,2)) % 100 = 0 THEN 0 WHEN (2000+RIGHT(Terms,2)) % 4 = 0 THEN 1 ELSE 0 END) THEN 'Bad Day'
    WHEN LEFT(Terms,2) NOT IN (2,9,4,6,11) AND LEFT(RIGHT(Terms,5),2) > '31' THEN 'Bad Day'
    END
    FROM @notDate
    Don't forget to mark helpful posts, and answers. It helps others to find relevant posts to the same question.

  • Crystal Data Conversion Issue (Error converting data type varchar to datetime)

    Hi,
    I can run stored procedure without error in SQL Server using my personal credentials as well as database credentials.
    I can also run Crystal Report after connecting to Stored procedure without error on my desktop using my personal credentials as well as database credentials.
    But when I upload the crystal report in BOBJDEV and when I run using database credentials report fails saying that "Error in File ~tmp1d1480b8e70fd90.rpt: Unable to connect: incorrect log on parameters. Details: [Database Vendor Code: 18456 ]" but I can run the crystal report successfully on BOBJDEV using my personal credentials.
    I googled (Data Conversion Error Message) about this issue & lot of people asked to do "Verify Database" in Crystal Report. So I did that, but when I do it I am getting a error message like this:
    Error converting data type varchar to datetime.
    Where do you think the error might be occurring? Did anyone faced this kind of issue before? If so, how to resolve it?
    (FYI, I am using Crystal Reports 2008, & for stored procedure I have used SSMS 2012 )
    Please help me with this issue.
    Thanks & Regards.
    Naveen.

    hello Naveen,
    since the report works fine in the cr designer / desktop, we need to figure out where you should post this question.
    by bobjdev do you mean businessobjects enterprise or crystal reports server? if so please post this question to the bi platform space.
    -jamie

  • MP Error: StringIndexOutOfBoundsException: String index out of range: -1

    Hi All,
    We are using PI 7.1 EHP1, Where in we would like to see the capabilty of User-Module for Conversion of IDoc Messages Between Flat and XML Formats. Gone thru the blog (/people/sap.user72/blog/2005/07/04/get-into-the-zone - Part 2) and maintained the necessary NWA configurations and maintained the necessary module parameters (SAPRelease, SourceJRA, TargetDestination) in Sender File Adapter.
    Now the file is not been picked by file adapter upon checking the Comm Channel Monitoring below error:
    MP: exception caught with cause java.lang.StringIndexOutOfBoundsException: String index out of range -1
    Any help would be highly appreciated.
    Thanks in advance

    Hi Ramani,
    I hope you must have found a solution on this, if not then kindly consider changing your source files, as this error corresponds to only one thing: i.e. DATA Issue. You need to correct the data which you providing to the module for conversion.
    I faced this problem and corrected it by just correcting my test file.
    Regards,
    Nipun Shedhani

  • Bcp import error numeric value out of range

    lo, I have table with columns of type int. I export this table by using bcp:
    bcp dbo.int_table out file.dat -q -CRAW -T -S localhost -E . 
    Now I want to import it to table with columns of type bigint. I use bcp command:
    bcp dbo.bigint_table in file.dat -q -CRAW -T -S localhost -E 
    I get error:
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    i was trying import table by using format file created based on bigint_table by command:
    bcp dbo.bigint_table in file.dat -f format_file_bigint.xml -q -CRAW -T -S localhost -E
    but i also gets the same errors. 
    Can I use format file when during export was used -CRAW option???? 

    int table:
    CREATE TABLE [INT_TABLE](
        [ID] [int] IDENTITY(1,1) NOT NULL,
        [COL1] [int] NOT NULL,
        [COL2] [datetime] NOT NULL,
        [COL3] [datetime] NOT NULL,
        [COL4] [datetime] NOT NULL,
        [COL5] [datetime] NOT NULL,
        [COL6] [bit] NOT NULL,
        [COL7] [bit] NOT NULL,
        [COL8] [numeric(15,2)] NOT NULL,
        [COL7] [numeric(15,2)] NOT NULL,
        [COL8] [numeric(15,2)] NOT NULL,
        [COL9] [int] NOT NULL,
        [COL10] [int] NOT NULL,
        [COL11] [datetime] NULL
    big int table:
    CREATE TABLE [BIGINT_TABLE](
        [ID] [int] IDENTITY(1,1) NOT NULL,
        [COL1] [int] NOT NULL,
        [COL2] [datetime] NOT NULL,
        [COL3] [datetime] NOT NULL,
        [COL4] [datetime] NOT NULL,
        [COL5] [datetime] NOT NULL,
        [COL6] [bit] NOT NULL,
        [COL7] [bit] NOT NULL,
        [COL8] [numeric(15,2)] NOT NULL,
        [COL7] [numeric(15,2)] NOT NULL,
        [COL8] [numeric(15,2)] NOT NULL,
        [COL9] [bigint] NOT NULL,
        [COL10] [bigint] NOT NULL,
        [COL11] [datetime] NULL
    The int table was exported by bcp command:
    bcp int_table out 'c:\int_table.dat' -q -N -T -C RAW -S localhost
    and i try import it by command:
    bcp bigint_table in 'c:\int_table.dat' -T -C RAW -q -S localhost -E
    then i get this errors:
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0
    Error = [Microsoft][SQL Native Client]Numeric value out of range
    SQLState = 22003, NativeError = 0

  • Numeric out of range

    Dear All
    I'm new to DS and am trying out the tutorials in the pdf xi3_ds_tutorial_en.
    I'm facing an error while doing the tutorial for loading a flat file into BO data store. (SalesOrg)
    The error ("numeric value out of range") happens when I try to import data into a datetime field.
    When the datetime field isn't mapped, data gets imported correctly.
    What is the reason for this error? My back-end is SQL and I'm using the default datetime field only.
    Regards
    Deepika

    Swarna,
    as I tried this yesterday, I cannot really see what should be wrong with your design. What I would suggest is to create another file format where you configure everything again - by the book - and try that as a source.
    I had in rare cases issues with saving which were sometimes resolved by closing/reopening the project or just creating the same thing all over again and discarding the old one. The template/target table should be automatically created by Data Services and with SQL Server I did not see any issues that date/datetime was not created properly.

  • Enumerated Out-Of-Range Detection

    I'd like to solicit opinions and ideas on a LabVIEW technical issue. The objective is to have a subvi detect when it receives an out of range value on an input that is an enumerated type control. Of course one way is to change the enumerated type so that the first and last items are named Underrange and Overrange, and handle these cases. But I am looking for a way to do it without adding items to the enumerated type. The attached LLB illustrates what I am trying to do. If the Numeric input on the top level VI is set to a value of 22, the subVI runs with a value of 16. Note that the subVI has a property for Out of Range Action that is set to Ignore, but the value is still coerced.
    The LLB is in LabVIEW 7.1.  In LabVIEW 8.2 the behavior is different. There is apparently a bug in LabVIEW 8.2 that allows the Number of Items to change if an overrange value is input.
    Allen
    Attachments:
    Enumeration Range Demo.llb ‏41 KB

    There is no built-in elegant method since the numeric->enum coercion is something that obviously happens automatically. If you provide a subVI that has an enum input you have no way of knowing that somebody wired an integer to that input unless you use the "Underrange" and "Overrange" enum values to deal with that situation. From your subVI's perspective all that you see in your subVI is the enum. There's no way for you to know that the enum value was chosen that way because somebody wired a constant of, say, -1 to your subVI's enum input. The programmer could just as well have had a number/string->enum conversion routine that actually chose those enum values.
    The real question is whether or not you should be providing an "Underrange" or "Overrange" enum value. That depends on how your subVI gets used. Normally I don't create such values, and I would suspect most programmers also do not. The only time I do it is when I know the subVI is used in situations where the value would likely be coming from an integer or a string value like, when it gets read from a file. In the latter example I use a string->enum conversion VI, but I make sure that the enum has an "undefined" value in the case when I get an empty string or an incorrect string.
    As a side note and follow-up to my previous message, it's interesting to note that even though the "Out of Range" action can be set for an enum via a property node, that section does not exist on the property page for the enum (and sensibly so). Perhaps that property shouldn't even be selectable for an enum.

  • Argument #1 of "Gridrowcolumnvalue" is out of range

    Hi I have a CrossTab that I am trying to manually insert information to.
    The idea is that I have two arrays (One with a date value and the other with a dollar value). I would like to match the date on the header of the column to that of my "ConsDate" array and pull the corresponding dollar amount from my "ConsPrice" array.
    My calculated member formula is as so
    global datevar array ConsDate;
    global numbervar array ConsPrice;
    local numbervar i;
    local numbervar Output;
    for i := 1 to ubound(ConsDate) do(
        if ConsDate[i] = date(gridrowcolumnvalue("@Date")) then(
            Output := ConsPrice[i];
            exit for;
            0;
        else
            Output := 0
    Output;
    However, I am getting the error 'Argument #1 of "Gridrowcolumnvalue" is out of range'
    Does anyone have a workaround for this?
    Thanks!

    Hi Abhilash I managed to fix it myself.
    Apparently it was trying to obtain a datetime value from the "Total" column.
    I ended up fixing it by adding a constraint
    global datevar array ConsDate;
    global numbervar array ConsPrice;
    local numbervar i;
    local numbervar j;
    local numbervar Output;
    local numbervar Summary;
    if currentcolumnindex = GetNumColumns - 1 then(
        for i := 0 to GetNumColumns - 2 do
            Summary := Summary + gridvalueat(currentrowindex,i,currentsummaryindex);
    for i := 1 to ubound(ConsDate) do(
        if currentcolumnindex in 0 to GetNumColumns - 2 then(
            if  month(ConsDate[i]) = month(date(gridrowcolumnvalue("@Date"))) then
                Output := ConsPrice[i];
        else
            Output := Summary;
    Output;

  • Java.lang.StringIndexOutOfBoundsException: String index out of range: -2

    Hello,
    I have a question about this error:
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
    I am doing my java development in IBM Rationale eclipse. I am compiling and running everything just fine. When I try to run my application on a command line I get this error. I don't know why this is happening since it is working perfectly in eclipse. I am running a .bat file and here is the .bat file:
    @echo on
    rem ---------------------------------------------------------------------------
    rem Script for launching Translation Application
    rem
    rem Environment Variable Prequisites
    rem
    rem
    rem ---------------------------------------------------------------------------
    cls
    SET DERBY_INSTALL=C:\Translation\Cloudscape_10.1
    SET TRANSLATION=C:\Translation
    set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INS TALL%\lib\derbytools.jar;%TRANSLATION%\lib\Transla tion.jar;
    echo %CLASSPATH%
    C:\Translation\jdk\jre\bin\java -classpath %CLASSPATH%;C:\Translation\Conversions src.utilities.DataConversionUtilityDaily
    pause
    Here is the code that is erroring out:
    sqlStatement.append(text.deleteCharAt(text.length( )-2));
    this code is compiling and executing just fine in eclipse but when i try to run it on a command line it gives me the above error.
    Can someone help me find out why my program is not running?

    I am running this same java statement in eclipse and
    I am not getting this error and it runs just fine.
    so i am trying to find out what the difference. Well obviously the difference is that in eclispe the length isn't zero.
    I
    am running the same code with the same data and I am
    getting to different things. No you aren't.
    Because if you were you would be getting the same result.
    You are assuming that it is the same, when in fact it isn't.
    Something is different.

  • Numeric Value Out Of Range Error in Callable Statement

    I keep getting an error whenever I try and pass in a value greater than 9000 into my stored procedure. The procedure call looks like this:
    sSelect = "execute sp_storedproc ?, ?, ?, ?, ?, ?, ?";
    CallableStatement call = objConn.prepareCall(sSelect);
    call.setString(1, "TEST"); //DB TYPE = VARCHAR
    call.setInt(2, 4); // DB TYPE = INTEGER
    //*******************PROBLEM LINE***************************
    call.setFloat(3,(float) 9001); //DB TYPE = MONEY
    call.setInt(4, 25 ); // DB TYPE = INTEGER
    call.setFloat(5,(float) 0); // DB TYPE = MONEY
    // output parameters
    call.setDouble(6, 0);
    call.setDouble(7, 0);
    call.registerOutParameter(6, Types.DOUBLE);
    call.registerOutParameter(7, Types.DOUBLE);
    // execute stored procedure
    call.execute();
    // retrieve value
    val1= call.getDouble(6);
    val2= call.getDouble(7);
    I keep getting a "[Microsoft][ODBC SQL Server Driver]Numeric value out of range." error.
    I'm using MS SQL server 2000. The error only occurs when I pass in values > 9000. Since there's no direct mapping between java data types and SQL MONEY data type, I've tried passing every possible type into the procedure with the same result (e.g. float, long, double, int, BigDecimal). If anyone has come across this problem and knows a solution please help!!
    Thanks.

    knows a solution please help!!Modify the stored proc so it takes a varchar. In the stored proc convert the string to the correct type. In java use setString() to pass in the value.

  • Converting varchar to datetime 103

    Hi Guys
    Im making a select query where in a colomn the date is yyyy-mm-dd, i need dd-mm-yyyy (103). A simple convert query does not work because the colomn is not set as a datetime but as a varchar. Its not possible to change the tables at the source.
    The colomn name is DATE_IN
    I think the following post could be helpfull but i dont know how to fix the given statements into the select query
    http://stackoverflow.com/questions/1509977/convert-varchar-into-datetime-in-sql-server

    > in a colomn the date is yyyy-mm-dd, i need dd-mm-yyyy (103)
    As suggested above, this is string date format to string date format conversion, purely string operations.
    If you convert to DATE / DATETIME first (universal internal binary representation), then it may fail if invalid date. 
    You can use the ISDATE or TRY_CONVERT functions to check if the string date is valid.
    DATETIME functions:
    http://www.sqlusa.com/bestpractices/datetimeconversion/
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Design & Programming
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • "Parameter Index out of range" Error in the report

    Hi..
    I am geting this error when running the reports..
    I am not sure what this means. Is this something related to BI Publisher report/configuration?
    I tried exporting XML data and it gives me the same error..
    JZ0SB: Parameter index out of range: 3.
    Any ideas?

    ink86 wrote:
    I have an sql String :
    select * from queue Where dayofmonth IN ('?', '*') and month IN ('?', '*') and year IN ('?', '*')
    This only works when I hard code the values in the sql:
    select * from queue Where dayofmonth IN ('8', '*') and month IN ('10', '*') and year IN ('2007', '*')
    Why is that?
    MBecause you have quoted the question marks. Remove them. PreparedStatement takes care about them itself.
    Also see the PreparedStatement tutorial: http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html
    Using varchars for numbers instead of integers is also not a good practice.

Maybe you are looking for