精华内容
下载资源
问答
  • MySQL-创建计算字段

    千次阅读 2017-02-13 22:39:07
    但是实际生活中,比如超市收银员,他们在打单据的时候可不是直接提取原始表单打出来,而是打出一个有商品名,商品单价,和总价的格式的表单。这个是数据库里没有的,这就是计算字段的用途,用来对原始数据进行加工...

    在谈计算字段之前,我们先想一想。储存在数据库中的原始表给我们提供了足够的数据,比如products表中就有商品id,商品名,供应商id,单价。但是实际生活中,比如超市收银员,他们在打单据的时候可不是直接提取原始表单打出来,而是打出一个有商品名,商品单价,和总价的新格式的表单。这个是数据库里没有的,这就是计算字段的用途,用来对原始数据进行加工,从而返回我们需要的表单数据和格式。

    拼接字段

    我们先进行一种叫作拼接的加工,就是把多个列的值拼成单个列。比如商品id和商品名是两列,现在我想得到形如“(商品id) 商品名”这种新格式的列。怎么做?我们用Concat()函数来拼接

    SELECT Concat("(", prod_id, ")", " ", prod_name)
    FROM products;
    

    这里写图片描述

    现在我们就有了新的列,只不过这种列不存在于数据库中,而是在运行SELECT语句内创建的。
    注意:只有数据库知道SELECT语句中用到的列哪些是原始列,哪些是计算字段。我们客户机看到的只是返回的数据列,哪知道哪个是原始的,哪个是计算加工过的?

    上面我们已经拼接了一个计算字段,但是我们发现,看上去它的名字好像很长,但实际上,这个计算字段是没有名字的。一个未命名的列肯定不是一件好事,因此我们需要用AS来取个别名

    SELECT Concat("(", prod_id, ")", " ", prod_name) AS p_name
    FROM products;
    

    这里写图片描述

    注:也可以用AS来重命名原始列名

    算数计算

    上面介绍的拼接,现在介绍的汇总。汇总嘛,就要用到计算了。我们现在有一个订单表,里面都是客户下的订单。现在我们来看一下订单号为20005的由产品id,产品单价,产品数量组成的表单。

    SELECT prod_id, quantity, item_price
    FROM orderitems
    WHERE order_num = 20005;
    

    这里写图片描述

    我现在想新增加一列,作为每一个产品的总价

    SELECT prod_id, quantity, item_price,
           quantity*item_price AS total
    FROM orderitems
    WHERE order_num = 20005;
    

    这里写图片描述

    SELECT测试

    之前我们在正则表达式中已经提过了用SELECT进行测试,现在我们仍然可以用SELECT进行其他测试,比如计算。

    SELECT 2*3;
    

    这里写图片描述

    SELECT rtrim("abc "); #去掉abc右边空格
    

    这里写图片描述

    SELECT "abc             ";   #不去掉
    

    这里写图片描述

    当然,还有神奇的now()函数来返回当前时间

    SELECT now();
    

    这里写图片描述

    展开全文
  • 字段 基本上与列的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用于在计算字段的连接上。 拼接字段 拼接是将值联结到一起构成单个值。 在MySQL的SELECT语句中,可以使用Concat() 函数来拼接...

    字段

    基本上与列的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用于在计算字段的连接上。

    拼接字段

    拼接是将值联结到一起构成单个值。

    在MySQL的SELECT语句中,可以使用Concat() 函数来拼接一个或多个列多数DBMS使用 加号(+)或 双竖线(||)来实现拼接,拼接时各个串之间用逗号(,)分隔

    语法:

    SELECT Concat(字符串1或列名,字符串2或列名,…)
    FROM 表名;  

    返回结果为连接参数产生的字符串,如有任何一个参数为NULL ,则返回值为 NULL。

    注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 CAST,例如:

    SELECT Concat(CAST(数字型 AS 字符型), 字符串或列名,……);

    语法举例:

    将city表中的 id 列和 name 列联结在一起,并对其进行字符串联结,按照 name 列进行升序排序输出所有信息结果。

    SELECT CONCAT(ID,'(',`Name`,')')
    FROM city
    ORDER BY `Name`;

    执行算术计算

    计算字段的另一常见用途是对检索出的数据进行算术计算。

    常见算术操作符:加(+)、减(-)、乘(*)、除(/)

    注意:用圆括号(( ))来区分优先级顺序。

    语法:

    SELECT 列名1 算术操作符 列名2 算术操作符……
    FROM 表名;

    注意:列名也可以与任何数值进行算术计算。

    语法举例:

    将city表中 sumPrice列 的各个值乘以2,并输出所有算术计算后的信息结果。

    SELECT sumPrice * 2
    FROM city;

     

    展开全文
  • solr 创建日期索引字段和日期查询

    万次阅读 2012-08-14 13:46:52
    首先创建一个JAVABEAN映射SCHEMA中的field public class DemoModel { @Field public String id; @Field public String type; @Field public String name; @Field public String createtime; } ...

    首先创建一个JAVABEAN映射SCHEMA中的field

    public class DemoModel {
    
    	@Field
    	public String id;
    	@Field
    	public String type;
    	@Field
    	public String name;
    	@Field
    	public String createtime;
    }


     

    schema中的field定义如下:

     <fields>   
      <!-- general -->
      <field name="id"      type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>
      <field name="type"    type="string"   indexed="true"  stored="true"  multiValued="false" /> 
      <field name="name"    type="text_en"   indexed="true"  stored="true"  multiValued="false" /> 
      <field name="text"   type="text_general"   indexed="true"  stored="false"  multiValued="true" />
      <field name="createtime"    type="date"   indexed="true"  stored="true"  multiValued="false" /> 
     </fields>


    然后利用solrj创建索引:

    package com.xj.demo;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.List;
    import java.util.TimeZone;
    
    import org.apache.solr.client.solrj.SolrServer;
    import org.apache.solr.client.solrj.SolrServerException;
    import org.apache.solr.client.solrj.impl.HttpSolrServer;
    
    import com.xj.model.DemoModel;
    
    public class SolrClientDemo3 {
    	public static final String SOLR_URL = "http://localhost:8088/solr-src/core1";
    
    	/**
    	 * 创建索引或者更新索引,通过BEAN的方式。ID存在的话就是更新,不存在的话就是创建
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		TimeZone timeZone = TimeZone.getTimeZone("UTC");
    		Calendar cal = Calendar.getInstance();
    		
    		
    		// TODO Auto-generated method stub
    		SolrServer solr = null;
    		solr = new HttpSolrServer(SOLR_URL);
    		List<DemoModel> list = new ArrayList<DemoModel>();
    		DemoModel model = null;
    		model= new DemoModel();
    		model.id="bean_111111";
    		model.name="奥运总共204块金牌";
    		model.type="bean";
    		model.createtime= "NOW/DAY-1DAY";//当前日期减一天
    		list.add(model);
    		model= new DemoModel();
    		model.id="bean_222222";
    		model.name="中国又添一枚金牌,中国获得38块金牌";
    		model.type="bean";
    		model.createtime="NOW";//当前时间,包括具体的时间
    		list.add(model);
    		model= new DemoModel();
    		model.id="bean_333333";
    		model.name="美国获得47块金牌";
    		model.type="bean";
    		model.createtime= "NOW/DAY";//当前日期,时间为00:00:00
    		list.add(model);
    		model= new DemoModel();
    		model.id="bean_444444";
    		model.name="法国获得18块金牌";
    		model.type="bean";
    		model.createtime= "1995-12-31T23:59:59Z";//直接写UTC格式字符串
    		list.add(model);
    		try {
    			solr.addBeans(list);
    			
    			solr.commit();
    		} catch (IOException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		} catch (SolrServerException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    		
    	}
    
    	
    }
    


    然后我们就可以在solr admin界面里查询了,查询字符串应该这样写:createtime:[NOW/DAY-1DAY TO *]

    []表示查询一个日期范围,包括边界即createtime>=a and createtime <=b。{}表示查询一个日期范围不包括边界即createtime>a and createtime <b。

    A TO * 表示没有上界即>=A或是>A ,视使用的是[]还是{}而定

    * TO A 表示没有下界即<=A或是<A ,视使用的是[]还是{}而定

    NOW表示当前时间,NOW/DAY表示当前日期.

    支持运算,比如取前一天就是NOW/DAY-1DAY,后一天就是NOW/DAY+1DAY,前年NOW-1YEAR ,依次类推。

    展开全文
  • MySQL创建自增字段,并设置初始值

    万次阅读 2018-06-28 17:50:56
    创建自增字段create table table_name (id INT AUTO_INCREMENT PRIMARY KEY );更改初始值alter table table_name AUTO_INCREMENT=100

    创建自增字段

    create table table_name (id INT AUTO_INCREMENT PRIMARY KEY );

    更改初始值

    alter table table_name AUTO_INCREMENT=100


    展开全文
  • mybatis将参数作为字段查询

    千次阅读 2018-08-02 16:13:48
    今天碰到一个需求,在一个多站点条件对比某个参数的时候需要将前台传入的参数作为数据库字段查询,在XML文件中使用#{param}时却会报异常,如下 HTTP Status 500 - Request processing failed; nested exception ...
  • 单字符串多字段查询 Disjunction Max Query 查询示例 示例代码 PUT /blogs/_doc/1 { "title": "Quick brown rabbits", "body": "Brown rabbits are commonly seen." } PUT /blogs/_doc/2 { "title": "Keeping ...
  • distinct 一个字段查询所有字段

    千次阅读 2020-06-08 14:47:49
    今天开发遇到一个问题,我需要去重某个字段查询到所有字段 查了很久终于找到了解决的方案,记录如下: 例如: select distinct id from table 会去重id字段重复的值,但是查询出来的也只有id字段,如果你想查询id...
  • mysql创建表多个字段的唯一约束

    万次阅读 2018-11-16 16:12:33
    mysql中有些表有时需要一些字段的唯一约束,当然你也可以在insert前判断有无的方式来防止重复,如果不想额外增加代码来更灵活的实现一些字段的唯一约束,mysql提供了两种方式: 1.unique key  alter table xx ...
  • 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, ...
  • CodingBlock客户化自定义新字段 1、Coding Block新字段财务会计()-财务会计基本设置()-分类帐-字段-客户字段-编辑编码块(OXK3);添加字段如图; 该步骤比较耗时,完成后,可查看客户化字段已经创建; 2...
  • oracle创建表增加字段sql脚本

    千次阅读 2017-08-23 11:06:46
    oracle中用comment on命令给表或字段加以说明,语法如下: COMMENT ON { TABLE [ schema. ] { table | view } | COLUMN [ schema. ] { table. | view. | materialized_view. } column | OPERA
  • [推荐]小程序版系统后台快速开发 推荐一个实时新闻接口:适合新闻类APP、网站、小程序等 [文字属于摘抄] 符号就是“+”加号和“-”减号,+号是省略的,数据库表中存的是正数,默认是不显示“+”号,如果存的是...
  • 会发现随着表中记录的增多,查询的速度也会也来越慢,特别是那种日志记录,少则几十万,多则上百万,甚至上千万数据,如果查询一次耗时太长,会严重影响业务逻辑,这时候可以考虑给经常作为条件的字段添加索引了...
  • mysql的图形化管理工具创建字段索引

    千次阅读 2015-04-16 10:12:19
    Context: 在使用MySQL一个小型的在线购物网站时候,需要创建表之间的外键约束。 Example: 在A表中,有一个自动增加的主键。B表也有一个自动增加的主键。但现在需要B表的一个非主键字段与A表的一个非主键字段建立...
  • 约束条件 作用控制如何给字段赋值 NULL | key | default | extra 是否允许赋null值 键值 默认值 额外设置  null(允许为空) not(不允许为空) key(索引类型) default(设置默认值,缺省为null) crea...
  • 本篇介绍SpringDataJPA进一步的定制化查询,使用JPQL或者SQL进行查询、部分字段映射、分页等。本文尽量以简单的建模与代码进行展示操作,文章比较长,包含查询的方方面面。如果能耐心看完这篇文章,你应该能使用...
  • pg数据库日期字段索引查询优化

    万次阅读 2018-11-23 17:32:01
    = 来判断日期范围的,当数据量大了,你会发现查询速度就会很慢,这时候我们可以些优化,给日期字段建立索引,更改查询语句,如下例子:  select * from fcz_moment where dep_airport_code='CTU' and air_date ~...
  • Hive学习笔记 --- 用中文创建表名和字段
  • Mysql中使用关键字name做字段

    千次阅读 2020-08-07 18:38:33
    今天在创建表时,创建name字段时,字段颜色不对,在运行时出现错误。 在网上搜后,就mysql中又说用"``" 把字段名括起来,有说用`()括起来,试了之后,发现都不是,要用 `name` char(20) NOT NULL DEFAULT '' `是...
  • django使用orm进行JsonField字段查询

    千次阅读 2019-08-13 10:41:54
    我们向对此字段的annual_mileage进行排序,我们看下sql语句是如何的(我们采用的数据库是pg postgresql) 排序 SELECT *,ext->'$.maxNum' AS maxNum FROM prop_info WHERE 1=1 ORDER BY maxNum DESC 可以...
  • oracle中查询某张表中的字段名,字段类型,是否为空,字段长度等信息 --查询某张表中的字段名,字段类型,是否为空,字段长度等信息 SELECT COLUMN_ID, TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, ...
  • MySql中float类型的字段查询不出结果 今天遇到一个很有意思的问题,之前一直没注意这个问题,记录下来,以此为前车之鉴 在MYSQL中,字段类型为FLOAT的字段,如果不指定FLOAT的长度和小数点位数,要根据FLOAT字段...
  • 最近在搞es的查询和,需要使用到模糊查询 匹配 在之前使用的时候,java 中的String 在 es 默认建立的mapping type是 String 是可以模糊查询的 ,但是新版的ES 废弃了 string 变为 text 和 keyword 这样一来 不管是 ...
  • today,测试同学反映某某查询功能出现问题,没有配置的数据还是查询出来了,翻阅代码进行查看,抽取出查询的sql,进行客户端查询发现确实有没有关联的数据还是查询出来了,排查了好久定位到,是关联的字段类型不匹配...
  • hive——创建表不支持新增字段问题

    千次阅读 2016-11-01 18:24:59
    创建hive表后,可能会遇到需要增加字段的情况,我们可能会想当然的像mysql或其他数据库那样,直接添加一个字段。 但对于hive,直接添加的字段可能并不能使用,比如可能会在添加字段后,在插入数据时,会出现类似如下...
  • 1.ES5.0及以后的版本取消了string类型,将原先的string类型拆分为text和keyword两种类型。它们的区别在于text会对字段进行分词处理而keyword则不会。这就是造成部分字段还会...支持模糊、精确查询 不支持聚合 keyw...
  • kibana图表无法选取需要选的字段

    千次阅读 2016-02-11 11:17:17
    kibana图表无法选取需要选的字段,即通过term的方式过滤选择某一...再去discover里看,发现此字段前面带有问号,点击后提示这个字段索引,不能用于visualize和discover的搜索。 思考: 从源头查起
  • 本章主要内容:创建数据透视表,更改数据透视表汇总方式,数据透视表中的组合,汇总多列数据,创建计算字段,生成多张工作表。
  • MySQL--创建时间和更新时间字段

    千次阅读 2017-08-07 10:58:08
    这是我写的第一篇技术博客, 刚刚毕业, 已经投入工作快一个月了, 写一下刚刚遇到的问题, 在创建数据库的时候, 我在一个表中需要创建时间和更新时间这两个字段, 所以sql命令如下: `release_time` timestamp DEFAULT ...
  • 问题:  mybatis mapper将参数作为字段查询查询的表名 解决方案: ... 在传入的参数“字段名”作为select、create、alter等后面的查询创建列时,一定要使用“${column}”的格式,而不能使...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 633,396
精华内容 253,358
关键字:

创建新字段查询怎么做