SQL常用函数
hyfstyle
这个作者很懒,什么都没留下…
展开
-
SQL正则表达式
SQL语句可以搭配正则表达式作为查询条件,实现很多需求。REGEXP_LIKE 匹配:REGEXP_LIKE(String, Regexp) REGEXP_INSTR 包含EGEXP_REPLACE 替换REGEXP_SUBSTR 提取正则表达式常用字符:字符说明^匹配字符串的开始位置,若用在中括号中[ ] 时,表示不匹配括号中字符串$匹配字符串的末尾,若设置了表达式对象的Multiline属性,则也匹配’/n’或’/r’.匹配单个字符*匹配原创 2021-03-31 17:31:57 · 17235 阅读 · 0 评论 -
SQL 查询字段包含特殊符号的数据
SQL查询字段长度用 length,可以用length 查询出表里该字段的最长长度 max(length(COLUMN_NAME)),也可以查询字段长度大于某一值有多少条记录eg: select * from XX.TB_NAME where length(COLUMN_NAME) > 19;原创 2021-02-19 10:25:28 · 13591 阅读 · 1 评论 -
SQL中的not in 与 not exists
一. in 和 existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询 。select * from TABLE1 a where a.id in (select b.id from TABLE2 b); --用到了TABLE1表上id列的索引,而子查询里的表的索引没用到;select * from TABLE1 a where exists (select b.id from TABLE2 where b.id=a.id); -- 用原创 2020-12-03 16:51:43 · 5861 阅读 · 1 评论 -
UPDATE更新SQL
UPDATE 更新多个字段:使用SQL中的update更新多个字段值,set后面的条件要用逗号不能用and(set后面的多个条件之间没有关联也不可以有关联,所以不能用and);where 条件后面 可以and。update A set A1= 'XX', A2='XXX' where A.id = 1 and A.status='Y'; UPDATE B表中的某些字段值 到 A表:Oralce和DB2都支持的语法:UPDATE A SET (A1, A2, A3) = (SELE.原创 2020-11-05 16:56:25 · 552 阅读 · 0 评论 -
impala row_number() 用法
impala row_id 的生成方法 ,用row_number() 。若要给impala的维度表添加一个row_id 可以用row_number() over(partition by column1 order by column2 desc) as row_id最近处理impala数据时,源数据比较乱,没有规范。例如有份数据包含代码、名称、分类等;源数据里一个代码可能有多个不同的名称、分类等;把这份数据处理下,获取所有的代码,以及相应代码对应最多的那个名称、分类等(其他字段以此类推),将数据加工原创 2020-07-24 18:19:45 · 4074 阅读 · 1 评论 -
sql 查询行数限制
DB2 用: fetch first 100 rows onlyeg:select * from Schema.Table_name fetch first 100 rows only; -- 检索前100行Mysql 用:LIMIT limit 可以有1个或2个参数,参数为整数常量;如果是两个参数,第一个参数指定返回记录行的偏移量,第二个参数指定返回记录行的最大数目。eg:select *...原创 2020-01-19 14:54:12 · 4792 阅读 · 1 评论 -
Sql 保留两位小数
使用 Round() 函数,如 Round(number,2) ,其中参数2表示保留两位有效数字,但是只负责四舍五入到两位小数,但是不负责截断例如 ROUND(3.141591653, 2) 得到3.140000000;使用 Convert(decimal(10,2),number) 实现转换,其中参数2表示保留两位有效数字...原创 2019-09-23 11:28:45 · 85149 阅读 · 3 评论 -
SQL新增、删除字段、修改字段属性
新增字段:ALTER TABLE [表名] ADD [字段名] [字段属性] [是否允许为空];例如ALTER TABLE TEST_INFO ADD 'NAME' VARCHAR(256) NOT NULL COMMENT '名称';原创 2019-07-30 17:05:50 · 5814 阅读 · 0 评论 -
SQL中DECODE函数用法
DECODE函数用法:DECODE(expr_expression, search_expression, result_expression, [default_expression])当search 表达式与 expr 的值匹配时,返回 result 表达式。如果找不到匹配项,则返回 default 表达式的值。例如 当数据中status值为01或02时返回0,否则返回1: DECO...原创 2019-05-06 17:19:01 · 7748 阅读 · 0 评论 -
SQL中字符截取、拼接 、转换常用方法
mysql 中字符截取、拼接int类型截取字段 常用函数left()和right():例如day_id 是类似20190415的 int型数据,若要截取前六位获取201904:left(day_id,6)若要截取后四位获取0415 : right(day_id,4)string型截取字段 常用函数substing()和substr():例如day_id 是类似20190415的 str...原创 2019-05-06 17:10:32 · 3262 阅读 · 2 评论 -
常用日期获取总结
一、 常用获取日期的函数:current date获取当前日期;current time获取当前时间;current timestamp获取当前时间戳(含年、月、日、时、分、秒);year()获取年;month()获取月;day()获取日;values current date -- 2019-03-20 14:32:35values current time -- 14:3...原创 2019-05-05 16:33:56 · 424 阅读 · 0 评论 -
SQL case when then用法
case有两种格式,简单case函数和case搜索函数case sex when '1' then '男' when '2' then '女' else '未知' end --简单case函数case when sex = '1' then '男' when sex = '2' then '女' else '未知' end --cas...原创 2019-03-20 14:19:19 · 2557 阅读 · 0 评论