--SQL查询每个表的字段数量select b.[name], count(*) As AllCount,ISNULL(ISNULL(sum(case when isnullable=0 then 1 end),null),null) as NotNullCountfrom syscolumns aINNER JOIN( select [id], [name] from [sysobjects] where [type] = 'u' ) AS b ON a.id = b.[id] GROUP b
当MySQL查询时排序的字段不是数字时而是汉字的时候也可以用when then 来指定排序. 列如yewu_check表的status 字段不是0,1,2而是汉字待办,已办,退回.可以如下写法: SELECT * FROM yewu_check ORDER BY CASE WHEN STATUS='待办' THEN 2 WHEN STATUS='已办' THEN 1 ELSE 0 END DESC 结果:
一:查询字符串类型的字段的值不为空的SQL: select * from TB_CMS_FLGTINFO_A t where (t.fsta is not null and t.fsta <>' '); 主:上面的TB_CMS_FLGTINFO_A是表名,fsta是表中的字段 二:查询字符串类型的字段的值为空的SQL: select * from TB_CMS_FLGTINFO_A t where (t.fsta is null or t.fsta =' '); 主:上面的TB_CMS_FLG
当一个字段想模糊查询出多个字段的时候,正常情况下一般会这么作 1 select * from a where name like 'a%' or name like 'b%' ....or ...; 但是上面的情况只能对应少量的模糊查询值,过多之后再后台开发的时候会出现非常麻烦的sql语句拼接 这时我们可以采用正则表达式进行匹配 1 select * from a where name regexp'a|b|...'; --------------------------------------
通过sql语句查询出来的结果字段没有到对应实体类时的处理方法,对于Person类获取用户第一个名字和年龄两个字段,常见的有两种方式: 1.在创建一个与查询结果字段对应的类,然后通过构造函数实现: Query query = em.createQuery("select new com.ejb.bean.SimplePerson(p. firstname, p.age) from Person p "); 2.通过sql语句将查询结果放到Object数组中,然后再获取一个List集合,里
使用hive查询ncdc天气数据 在hive中将ncdc天气数据导入,然后执行查询shell,可以让hive自动生成mapredjob,快速去的想要的数据结果. 1. 在hive中创建ncdc表,这个表用来存放ncdc的数据 create table ncdc ( year string, month string, data string, time string, air string, a string, b string, c string, d string, e string, f
今天下午有同事反馈她提交了了一个SQL后,hive 查询就停止响应了. 我看了下,发现hiveserver确实hug住了.听过查看日志,发现了一个牛逼的SQL, 这个SQL很简单: select a.column1, b.column2 from a left join b on a.id = b.id 这两张表都是很大的表,保存了好多年的数据,表b按照日期和类目进行了分区. 因为没有加限制,所以HiveMetaStore在获取分区的时候,会从mysql中获取这个表所有的分区信息,SQL如下:
异常信息如下: select * from b_pt_pr_customer_address_info limit 19; FAILED: SemanticException Unable to determine if hdfs://nodexx:8020/user/hive/warehouse/ss_aa_bb_info is encrypted: java.lang.IllegalArgumentException: Wrong FS: hdfs://nodexx:8020/user/hi