精华内容
下载资源
问答
  • Mysql sql语句 将字符串转为Double类型

    万次阅读 2019-06-12 17:52:54
    第一阶段,认识 sql里面的数字类型,float,decimal, double 三者的区别介绍 float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7...

    第一阶段,认识 sql里面的数字类型,float,decimal, double

    三者的区别介绍

    float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)

    double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)

    decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)

    MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:

    select cast("23333.3333" as decimal(9,4));  #第一个参数代表一共几位  第二个参数代表可保留几位小数 
    select CONVERT("23333.3333",decimal(9,4));  
    

    就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

    其他的转换也可以,但是转换的类型是有限制的。这个类型可以是以下值其中的一个:

    二进制,同带binary前缀的效果 : BINARY    
    字符型,可带参数 : CHAR()     
    日期 : DATE     
    时间: TIME     
    日期时间型 : DATETIME     
    浮点数 : DECIMAL      
    整数 : SIGNED     
    无符号整数 : UNSIGNED 
    
    展开全文
  • 2.起因:连接mysql数据库后,进行下面insert语句插入时,发现报错误“Truncated incorrect DOUBLE value” insert into testQ(name) VALUES ('a'+':'+'b') 3.结论:mysql插入字符串时,字符串相加错误地采用了...

    1.分类:mysql数据库异常处理

    2.起因:连接mysql数据库后,进行下面insert语句插入时,发现报错误“Truncated incorrect DOUBLE value”

    insert into testQ(name) VALUES ('a'+':'+'b')

     

    3.结论:mysql插入字符串时,字符串相加错误地采用了“ + ”,于是被当做double类型进行前后相加。

    作为验证,我执行了insert语句:insert into testQ(name) VALUES ('1'+'2'),发现插入数据3.

    4.解决办法:mysql插入字符串需要做连接时,使用库函数contat。如下sql语句,完美解决问题。

    insert into testQ(name) VALUES (concat('a',':','b'))

    5;扩展调查,发现sqlserver数据库使用+连接字符串没有报错,如图。这个可能是跟不同数据库有关系,先存疑好了。

    展开全文
  • 开发中我设置的的定时器任务每十分钟执行一次,具体执行的任务为除了更新表中某个标识是否有效的字段外,还对token这个列执行失效操作,即是执行更新语句时,让某条数据的某一列在原来的基础上做相应的更新,并且...

    问题的由来

           项目开发中需要对MySQL数据库中某张保存token信息的表进行失效操作,按照设计token的有效时长为1个小时。开发中我设置的的定时器任务每十分钟执行一次,具体执行的任务为除了更新表中某个标识是否有效的字段外,还对token这个列执行失效操作,即是执行更新语句时,让某条数据的某一列在原来的基础上做相应的更新,并且使用加号来进行连接,sql语句为:update ai_interface_token a set a.status = 0,a.access_token = a.access_token+'key',a.invalid_time = ? where a.access_token in (?); SQL语句写好后使用测试数据一执行,马上报错,错误信息为:Truncated incorrect DOUBLE value;

     

    问题分析

          不懂这个错误是什么意思,马上使用百度翻译,翻译为中文为:截断错误的双精度值.还是不懂,可能有些东西直译过来不好理解,然后去百度,找到一篇好的文章,解决了这个问题。导致这个问题的原因是执行更新操作时,更新某条数据的某一列时,让这一列在原来的基础上进行更新操作,比如某一列原来保存的值为abc,现在想更新为abckey,不能使用加号连接符,需要使用concat连接符才可以。

     

    解决方案

          根据作者的提供的解决方案,马上修改sql语句为:update ai_interface_token a set a.status = 0,a.access_token = concat(a.access_token,'key'),a.invalid_time = ? where a.access_token in (?);问题圆满解决!现在贴上那篇文章的地址

    https://www.2cto.com/database/201210/159369.html

    展开全文
  • mysql 结合mybatis 写update语句用update,set,if标签写了如下一条语句: <update id="update" parameterType="User"> UPDATE user <set> <if test="user_nicheng != null and user_nichen...

    mysql 结合mybatis 写update语句用update,set,if标签写了如下一条语句:

    <update id="update" parameterType="User">
            UPDATE user
            <set>
                <if test="user_nicheng != null and user_nicheng != ''">
                    user_nicheng = #{user_nicheng,jdbcType=VARCHAR} and
                </if>
                <if test="user_phone != null and user_phone != ''">
                    user_phone = #{user_phone,jdbcType=VARCHAR} 
                </if>   
            </set>      
            <where>
                <if test="user_name != null and user_name != ''">
                    user_name = #{user_name,jdbcType=VARCHAR};
                </if>
            </where>
        </update>
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    会报错 如下:

    Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'good'
     
     
    • 1

    改成 如下的 sql语句

    <update id="update" parameterType="User">
            UPDATE user
            <set>
                <if test="user_nicheng != null and user_nicheng != ''">
                    user_nicheng = #{user_nicheng,jdbcType=VARCHAR} ,
                </if>
                <if test="user_phone != null and user_phone != ''">
                    user_phone = #{user_phone,jdbcType=VARCHAR} 
                </if>   
            </set>      
            <where>
                <if test="user_name != null and user_name != ''">
                    user_name = #{user_name,jdbcType=VARCHAR};
                </if>
            </where>
        </update>
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    再运行提示更i新成功,原来sql 语句写错了。。。。

    正确的写法是:set 标签中的多个if标签拼接,不能用and,应该用 逗号拼接

    转载自: https://blog.csdn.net/wjj1996825/article/details/80044786

    展开全文
  • 为什么double grade= input.nextInt();这条语句在eclipse可以正常运行?不是应该为double grade= input.nextDouble();吗?两句语句有区别吗?分别怎么用?
  • 然后刚开始的时候发现,double类型字段if test标签也是写成了 <if test="xxx != null and xxx !=' ' "> 这个时候发现,当更新语法时,这个字段没有传入值时,被默认的改成0。 然后去搜索资料,说写成这种形式...
  • 首先先写查询语句: select innerid from aa inner join bb on aa.id=bb.id where innerid >0 这里一查当然没啥问题,数据是那么的整齐。 接下来将数据插入到另一张表中: INSERT INTO r (innerid) select ...
  • 当使用update语句时出现Data truncation: Truncated incorrect DOUBLE value:??错误. 把你的sql语句的"and"全部换成"逗号"! 例如 update table set A = "a" and B = "b" where id = 1 (报错) 改成 update ...
  • double

    2017-12-17 03:22:14
    double是C语言的一个关键字,代表双精度浮点型。...可以用格式化输入输出语句scanf和printf进行double类型的输入输出,格式化字符为%lf。定义double a;可以用scanf("%lf", &a);进行输入。用prinf("%lf",a);进行
  • MySQL中特别实用的几种SQL语句送给大家

    万次阅读 多人点赞 2020-06-11 17:23:49
    在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑。减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮。 目录 实用的SQL 1.插入或替换 2....
  • #include #include using namespace std;...double sum(vector::iterator begin,vector::iterator end ) {  double result=0;  while(begin!=end)  result+=*begin++;  return result; }
  • #include #include using namespace std;...double sum(vector ivec ) { vector::iterator iter; double result=0;  for(vector::iterator iter=ivec.begin();iter!=ivec.end();++iter)  resu
  • 数据库中有一个字段如“status”存储类似于“2,3,4,5”这样的内容时,在sql中存在这样的查询语句: update ... where status = 2 ... 问题就在条件上,用引号(单引号,双引号均可)把2引起来即可,即: update ....
  • 执行修改语句update tbl_user_details set nickname=CONCAT("用户",yunva_id) where nickname = yunva_id; 报错: ERROR 1292 (22007): Truncated incorrect DOUBLE value: '糖糖的坤大叔' 查看sql模式 ...
  • 坑惨了!flink执行sql语句时,出现...

    千次阅读 2018-10-18 19:55:23
    Data truncation: Truncated incorrect DOUBLE value: '2018-10-18 19:21:47' Flink操作mysql数据库对数据进行更新时。 原始sql语句: update t_lianlu_utilization_alarm set cancle_time=? and recevicetime=? ...
  • Doubledouble的坑

    千次阅读 2018-06-13 10:01:07
    mybatis里select语句, 当数据库里double类型字段为null时,该字段在对象里的值默认为0的bug。找了半天,发现是基础知识的问题。原来我在对象里new的double是基础数据类型double,值为null时默认值为0。将其改为包装...
  • Integer属于不可更改类型,而且Long和Integer没有任何继承关系,当然不能这样转换 例如: 注: super.pageQuery(hql,null,null,null);调用了一个父类的一个封装方法....List list = this.getHibernateTemplate()....
  • 若有以下定义和语句:double r=99, *p=&r;p=r; 则以下正确的叙述是 A) 以下两处的p含义相同,都说明给指针变量p赋值 B) 在"double r=99, *p=&r;“中,把r的地址赋值给了p所指的存储单元 C) 语句”*p=r;“把...
  • 最基本的语句——赋值语句

    千次阅读 多人点赞 2019-06-27 14:46:47
    最基本的语句——赋值语句 【知识点】 赋值运算符; 复合的赋值运算符; 赋值表达式; *赋值过程中的类型转换; 赋值表达式和赋值语句; 变量赋初值; 【内容】 在C程序中最常用的语句是:赋值语句和输入...
  • SELECT COALESCE(SUM(money),0.00) FROM user_zhangmu WHERE phone= '15610077197' AND title = '-1' 使用COALESCE(a,b),当a的值等于NULL时,便会直接替换成b。
  • if语句简单,其原理我不必赘述。  if语句小代码如下所示: //if循环语句 public class IfLoop { public static void main(String[] args) { double i = 6 * Math.random(); double j = 6 * Math....
  • SQL基础语句大全

    千次阅读 多人点赞 2019-10-15 20:19:49
    SQL基础语句大全 此文章基本涵盖SQL的基础应用语句 你好! 这是本人在大学自学Java时记录的SQL基础语句,希望可以对自学的小白...2.浮点数:double(m,d) m总长度 d小数长度 eg:double(5,3) 26.789 decimal是一个超高...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 315,203
精华内容 126,081
关键字:

double语句