美文网首页
2019-09-30 【日记】

2019-09-30 【日记】

作者: 耕耘菜菜 | 来源:发表于2019-09-30 09:52 被阅读0次

学习记录

SQL 拼接,截取字符串

  1. 拼接字符串 CONCAT()
  2. 截取字符串 SUBSTR()//SUBSTRING()
    • SUBSTR(str,pos)//SUBSTR(str FROM pos)
      • str从pos位置开始截取到最后;注:pos第一个下标是1, 可以为负数
    • SUBSTR(str,pos,len)//SUBSTR(str FROM pos FOR len)
      • str从pos位置开始截取到len位字符;注:pos第一个下标是1,可以为负数
  3. 截取字符串 SUBSTRING_INDEX()
    • SUBSTRING_INDEX(str,delim,count),count 可以为负数
      • 按某些字符的下标来截取字符串
  4. LEFT(str, len) 从左边截取字符串
  5. RIGHT(str, len) 从右边截取字符串

SQL中判断字符串中包含字符的方法

  • CHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表达式的起始位置。
  • PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。从1开始下标
    -(两者的区别在于,后者支持模糊匹配,前者是全匹配)

SQL 条件判断值 CASE WHEN

SELECT tenant, (CASE WHEN api_service IS NULL then 'noaction' WHEN COUNT(api_service) > 1 then 'senior' ELSE 'junior' END) AS stage

SQL 中的 NULL 值

count(*) '4991895' (包含NULL,其他不包含)
WHERE user_name is NULL '18557'
WHERE user_name is NOT NULL '4973338'
WHERE user_name = "" '2736837'
WHERE user_name != "" '2236501'
WHERE user_name != "" and user_name is NULL 0
WHERE user_name != "" and user_name is NOT NULL '2236501'
WHERE user_name = "" and user_name is NULL 0
WHERE user_name = "" and user_name is NOT NULL '2736837'

遗留问题

  • 表达式,匹配不包含某个单词的行

相关文章

网友评论

      本文标题:2019-09-30 【日记】

      本文链接:https://www.haomeiwen.com/subject/acscpctx.html