精华内容
下载资源
问答
  • 解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题 select CAST(u.amount AS CHAR) from user u CAST(u.amount AS CHAR) ;u.amount: Decimal类型的字段 这样查询出来的数据就不会是科学计数法了...

    解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题

    select CAST(u.amount  AS CHAR) from user u

    CAST(u.amount AS CHAR) ;u.amount: Decimal类型的字段

    这样查询出来的数据就不会是科学计数法了,但是查出来的数据类型就转成了字符串类型了

    验证

    准备数据库数据

    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- Table structure for amount
    -- ----------------------------
    DROP TABLE IF EXISTS `amount`;
    CREATE TABLE `amount`  (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `amount` decimal(65, 15) NOT NULL,
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Records of amount
    -- ----------------------------
    INSERT INTO `amount` VALUES (1, 'desire', 14.025415550000000);
    INSERT INTO `amount` VALUES (2, 'ronin', 0.253698741550000);
    INSERT INTO `amount` VALUES (3, 'tom', 0.000000000000005);
    INSERT INTO `amount` VALUES (4, 'aaa', 0.000000000000785);
    
    SET FOREIGN_KEY_CHECKS = 1;

    Python查询

    1、连接数据库,创建连接

    import pymysql
    
    con = pymysql.connect(host='localhost',
                          user="root",
                          password="123456",
                          port=3306,
                          charset='utf8')
    cur = con.cursor()

    2、使用 * 查询所有的数据

    sql = "SELECT * FROM desire.amount a"
    cur.execute(sql)
    users = cur.fetchall()
    print(users)

    2.1、打印结果

    ((1, 'desire', Decimal('14.025415550000000')), (2, 'ronin', Decimal('0.253698741550000')), (3, 'tom', Decimal('5E-15')), (4, 'aaa', Decimal('7.85E-13')))

    2.2 分析结果:从上面的打印结果可以看到,如果小数位过长,打印出来的数据就会变成科学计数法的形式打印,这样的数据看起来不是很清晰。

    3、使用CAST() SQL函数,把Decimal类型的字段转成字符串显示

    sql = "SELECT a.id,a.name,CAST(a.amount  AS CHAR) FROM desire.amount a"
    cur.execute(sql)
    users = cur.fetchall()
    print(users)

    3.1 打印结果

    ((1, 'desire', '14.025415550000000'), (2, 'ronin', '0.253698741550000'), (3, 'tom', '0.000000000000005'), (4, 'aaa', '0.000000000000785'))

    3.2 分析结果:这样打印出来的数据,就跟数据库存放的一致了,数据比对起来也是正确的,很清晰

    4、经过这样处理,比对数据就显得稍微清晰一点,不会混杂着科学计数法的数据了。

    展开全文
  • thinkPHP 查询数据库字段

    千次阅读 2017-05-04 17:44:21
    * 查询指定的字段是否存在表中 * @param type $field 字段名称 * @return void * @access protected */ protected function issetField($field){ $fields=$this->model->getDbFields(); return array_search($field,...
    /**
    * 查询指定的字段是否存在表中
    * @param type $field 字段名称
    * @return void
    * @access protected
    */
    protected function issetField($field){
    $fields=$this->model->getDbFields();
    return array_search($field,$fields); 
    }

    从3.1版本开始,模型的字段缓存文件名全部转换成小写,避免重复生成。
    可以通过设置DB_FIELDS_CACHE 参数来关闭字段自动缓存,如果在开发的时候经常变动数据库的结构,而不希望进行数据表的字段缓存,可以在项目配置文件中增加如下配置:
    1. 'DB_FIELDS_CACHE'=>false
    注意:调试模式下面由于考虑到数据结构可能会经常变动,所以默认是关闭字段缓存的。
    如果需要显式获取当前数据表的字段信息,可以使用模型类的getDbFields方法来获取当前数据对象的全部字段信息,例如:
    1. $fields = $User->getDbFields();
    如果你在部署模式下面修改了数据表的字段信息,可能需要清空Data/_fields目录下面的缓存文件,让系统重新获取更新的数据表字段信息,否则会发生新增的字段无法写入数据库的问题。
    如果不希望依赖字段缓存或者想提高性能,也可以在模型类里面手动定义数据表字段的名称,可以避免IO加载的效率开销,在模型类里面添加fields属性即可,定义格式如下:
    1. <?php
    2.     class UserModel extends Model{
    3.         protected $fields = array(
    4.             'id', 'username', 'email', 'age', '_pk' => 'id', '_autoinc' => true
    5.         );
    6.     }
    其中_pk 表示主键字段名称 _autoinc 表示主键是否自动增长类型,定义了fields属性之后,就不会自动获取数据表的字段信息了。如果有修改或者增加字段,必须手动修改fields属性的值。

    array_search() 

    函数在数组中搜索某个键值,并返回对应的键名。

    详细说明

    array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

    在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。

    如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

    语法

    array_search(value,array,strict)
    参数 描述
    value 必需。规定需要搜素的键值。
    array 必需。规定被搜索的数组。
    strict

    可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:

    • true
    • false - 默认

    如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。

    技术细节

    返回值:

    如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。

    如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。

    PHP 版本: 4.0.5+
    更新日志:

    如果向函数传递无效的参数,函数返回 NULL(这个适用于自 PHP 5.3.0 起的所有的 PHP 函数)。

    自 PHP 4.2.0 起,如果搜索失败,该函数返回 FALSE,而不是 NULL。

    更多实例

    在数组中搜索键值 5,并返回它的键名(注意 ""):

    <?php
    $a=array("a"=>"5","b"=>5,"c"=>"5");
    echo array_search(5,$a,true);
    ?>
    输出: b

    展开全文
  • TP5查询数据库字段不为空

    千次阅读 2020-03-27 19:18:30
    数据库查询字段不为空比较特别,所以在此记录一下

    查询条件如果是一个数组,建议后面接多一个where单独查询字段是否不为空:
    查询字段是否(不)是Null

    where('name', null);
    where('title','null');
    where('name','not null');
    

    如果你需要查询一个字段的值为字符串null或者not null

    where('title','=', 'null');
    where('name','=', 'not null');
    
    展开全文
  • mybatis两种查询方式 一个是用resultMap 一个是用实体类 entity 1. resultMap &lt;resultMap type="java.util.HashMap" id="deptsubmitList"&gt; &lt;result property="...

    mybatis两种查询方式 一个是用resultMap 一个是用实体类 entity

    1. resultMap

        <resultMap type="java.util.HashMap" id="deptsubmitList">
            <result property="count" jdbcType="VARCHAR" column="count"/>
            <result property="number" jdbcType="VARCHAR" column="number"/>
        </resultMap>

    <!-- 查询列表 -->
        <select id="queryDeptUtils" parameterType="java.util.HashMap" resultMap="deptsubmitList">
             <![CDATA[
                select 
                   COUNT(id) count,
                   (CASE when number is null then 0 else number end ) as number 
                from t_f_submit
             ]]>
             <where>
              <if test="basicid != null and basicid != ''">
                <![CDATA[ 
                     and basicid = #{basicid ,jdbcType=VARCHAR }
                 ]]>    
              </if>
              <if test="deptname != null and deptname != ''">
                <![CDATA[ 
                     and deptname = #{deptname ,jdbcType=VARCHAR }
                 ]]>    
              </if>
             </where>
        </select>

     

    2.实体类entity

    <select id="queryFileListCount" parameterType="java.util.HashMap" resultType="com.centit.cmip.main.entity.response.ResponseImgFileBean">
            SELECT
                 COUNT(1) COUNT
            FROM
                t_file f
            LEFT JOIN 
                t_dic d ON f.file_code = d.dic_code
            <where>
                f.file_status=0
                <if test="id != null and id != ''">
                    <![CDATA[
                AND    f.id = #{id,jdbcType=VARCHAR}
                    ]]>
                </if>
            </where>
            ORDER BY f.file_createtime DESC
        </select>

    展开全文
  • Ibatis查询数据库字段为空时的处理

    千次阅读 2014-01-09 16:48:39
    然后恰好碰到了这种情况:当查询时,数据库age字段为空,在ibatis的映射文件里,我把其查询结果返回到对应的实体类里:resultClass="com.teana.vo.User",而问题就出现在这里了,由于User类的age属性是int的,当在数
  • mysql经常会用来查询特定字段,偶尔会需要展示特定字段中值的某部分,这个时候怎么处理呢? 然后还有模糊查询的时候,如果需要匹配中间的某部分值,这个时候like就很尴尬,会多出一些不相干的记录,这又该怎么处理呢...
  • SQL Server查询数据库表和数据库字段

    千次阅读 2018-04-17 09:24:56
    在SQL Server中查询数据库表和字段的方式可以有三种 方法一 -- 查询所有表 SELECT * FROM sys.tables; -- 查询所有列 SELECT * FROM sys.columns; -- 查询所有扩展属性,我们在设计数据库表和字段时写的中文...
  • sqlalchemy 查询的时候排除掉数据库字段为 null的方法1:session.query(user).filter_by(user.brand_id.isnot(None))...session.query(user).filter_by(not_(employ.user==None))sqlalchemy 查询数据库字段为 nul...
  • C#查询ACCESS数据库字段和时间字段

    千次阅读 2018-01-13 16:10:05
    查询表的所有字段 string.Format("SELECT * FROM{0}", TableName); 查询表中的一个字段 在ACCESS中将字段用CStr()转换成字符串来判断 string.Format("SELECT* FROM {0} WHERE CStr({1})='{2}'", TableName, ...
  • 根据数据库字段查询字段所在表

    千次阅读 2016-04-08 16:50:42
    经常会遇到知道数据字段,但是不知道哪些表里面具有这些字段,因此做个整理 postgresql select c.* from pg_class c, pg_attribute a where c.relfilenode=a.attrelid and a.attname='xxxxxxx'; 其中xxxx填入你...
  • 在和数据库实体和数据库字段不一样的情况下, 数据库实体: @TableId(value = "pui_id", type = IdType.AUTO) private String id; /** * 用户标识 */ @TableField(value = "pui_userid") private String ...
  • Mybatis查询数据库字段不返回

    千次阅读 2017-12-06 11:42:52
    Mybatis查询数据库字段不返回
  • 关于数据库字段模糊查询

    千次阅读 2019-01-30 11:49:48
    原始需求:数据库中存储了很多微信名称然后得进行模糊查询。 Q1:为什么不进行一对多的设计,可以采用一对多的设计? A:有时候仅仅为了一个属性进行建立一张表,会将表的数量变多,在插入和查询时候进行大量的操作...
  • 模糊查询数据库所有字段的值

    千次阅读 2018-04-22 12:07:56
    模糊查询数据库的所有值,例如:输入 张 显示数据库里所有含有张的信息 因为还是模糊查询,所以想到的解决思路是对所有字段进行查询 这时候就遇到了问题。一般模糊查询用的是 select * from 表名 where 列名 like '...
  • 数据库字段加密

    千次阅读 2019-04-26 09:33:18
    数据库database中,为表a_table添加name、mobile、idNo三个字段,便于直观查询数据。 alter table a_table add name varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', add mobile varchar(16) NOT NULL ...
  • 如何查询出某个字段重复出现两次以上的数据如何查询出某个字段重复出现两次以上的数据@TOC 方法: SELECT * FROM 表 WHERE 字段 IN (SELECT 字段 FROM 表 GROUP BY 字段 HAVING COUNT(1) > 1)
  • Python 查询数据库 显示字段

    千次阅读 2019-12-25 17:57:40
    #设置游标 查询出来的数据才会带上字段名 db_cur = db.cursor(MySQLdb.cursors.DictCursor) #设置游标 查询出来的数据才会带上字段名 db_cur = db.cursor(MySQLdb.cursors.DictCursor)  
  • mysql查询数据库中所有字段的属性

    千次阅读 2020-05-30 14:39:28
    1.查询数据库中某个库所有字段的属性(指定数据库库名),若想查询所有去掉where条件即可 select * from information_schema.columns where table_schema= '数据库库名' 2.查询数据库中指定库指定表所有字段的属性...
  • mysql数据库和oracle数据库查询时对结果中的字段进行拼接的方法
  • [b]关键字表:[/b] ... ... ...现在需要通过这个字符串内容,去匹配数据中的列(interceptWords)。找出万物生晖、德玛西亚两列;...select i.id,i.interceptWords from intercept_words i ...where '我今天要用万物生晖这个...
  •  1、查询数据库表数量 #查询MySQL服务中数据库表数据量 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES GROUP BY table_schema; #查询指定数据库表数量 SELECT COUNT(*) TABLES, ...
  • 数据库字段包含反斜杠的查询处理

    千次阅读 2019-04-23 18:40:00
    像下图中字段值里带有反斜杠的记录: 这种如果要查询的话,必须使用3个反斜杠才能查到,比如 like ”%D\%“是查不到上面两条记录的,必须使用like ”%D\\\%“,原因是反斜线符号会被语法分析程序剥离一次,在...
  • 数据库字段字符时进行区间查询

    千次阅读 2018-01-18 16:27:16
    2018.1.18日当使用字符串进行连续的模糊查询时,or 需要加()。or 和and相当于数字运算中的加法和乘法 sql条件在连接条件的时候会先算and两端的 在跟or两端的进行运算。select * from table where 1=1 and (xmmc ...
  • 今天由于需求原因,需要用到两个字段相同的查询,由于是在laravel下进行查询,所以网上查找相关资料,最终找到合适的方法,在这里向大家分享这个写法, DB::connection('mysql')->table('game')::where('...
  • 使用Results注解 @Select(value = "SELECT * FROM category WHERE cat_id = #{catId}") @Results({ @Result(id=true, column = "cat_id", property = "catId"), @Result(column = "cat_name...
  • ![图片说明]...像上图显示得,我查询得到了多个有关姓名的字段,我怎么把所有的姓名统一起来,形成一个新的字段呢,里面包含我查询得到的所有姓名字段。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,327
精华内容 13,330
关键字:

查询数据库字段