zoukankan      html  css  js  c++  java
  • SQL Server 常用函数

    SUBSTRING ( expression ,start , length )

    参数

    . expression

    字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。

    .start

    指定子字符串从何处开始的整数。start可以是bigint类型;索引从1开始

    .length

    长度是一个正整数,它指定返回表达式的字符或字节数。如果长度为负值,则返回错误。长度可以是bigint型

    SELECT SUBSTRING('LGAG4DY30B353',1,10)  --截取前10位返回结果 LGAG4DY30B

    STUFF ( character_expression , start , length , replaceWith_expression ) 

    参数

    .character_expression

    字符数据的表达式可以是常量、变量,也可以是字符列或二进制数据列。

    .start

    一个整数值,指定删除和插入的开始位置。 如果 start 为负或为零,则返回空字符串。 如果 start 的长度大于第一个 character_expression,则返回空字符串。 start 的类型可以是 bigint。索引从1开始

    .length

    一个整数,指定要删除的字符数。 如果 length 为负,则返回空字符串。 如果 length 的长度大于第一个 character_expression,则最多可以删除到最后一个 character_expression 中的最后一个字符。 如果 length 为零,则在字符串中第一个字符之前插入内容。 length 的类型可以是 bigint。

    .replaceWith_expression

    字符数据的表达式。 character_expression 可以是常量、变量,也可以是字符列或二进制数据列。 此表达式从 start 开始替换 length 个字符的 character_expression。 如果 replaceWith_expression 为 NULL,则在不插入任何内容的情况下删除字符。

    SELECT STUFF('LGAG4DY30B',9,1,'-') --返回结果 LGAG4DY3-B

    SELECT 字段 FROM 表名 FOR JSON AUTO

    SELECT 字段 FROM 表名 FOR JSON PATH

    select top 1 Id,Name,CreateTime from Log for json path  --返回结果 [{"Id":1,"Name":"车辆信息查询","CreateTime":"2018-09-06T09:00:28.090"}]

    SELECT 字段 FROM 表名 FOR JSON PATH,ROOT(' ')

    select top 1 Id,Name,CreateTime from Log for json path,root('Log')  --返回结果 {"Log":[{"Id":1,"Name":"车辆信息查询","CreateTime":"2018-09-06T09:00:28.090"}]}

    FOR XML PATH 用法类似

    FOR XML PATH和STUFF结合使用,将字段用逗号连接起来

    select STUFF((select ','+CONVERT(varchar(200),ID) from  SMP_Case for xml path('')),1,1,'') as IDs

     CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) 

    参数

    .expressionToFind
    一个字符表达式,其中包含要查找的序列。 expressionToFind 限制为 8000 个字符 。

    .expressionToSearch
    要搜索的字符表达式。

    .start_location
    表示搜索开始位置的 integer 或 bigint 表达式 。 如果 start_location 未指定、具有负数值或 0,搜索将从 expressionToSearch 的开头开始 。

    select CHARINDEX('-','LGWE13243-ABC') 返回结果10

    PATINDEX ( '%pattern%' , expression ) 

    参数

    .pattern
    包含要查找的序列的字符表达式。 可以使用通配符;但 pattern 之前和之后必须有 % 字符(搜索第一个或最后一个字符时除外) 。 pattern 是字符串数据类型类别的表达式 。 pattern最多包含 8000 个字符 。

    .expression
    是一个expression,通常是针对指定模式搜索的列。 expression 是字符串数据类型类别的表达式 。

    select PATINDEX('%-%','243532B-ACFDF3333') 返回结果8

    参考:  https://docs.microsoft.com/zh-cn/sql/t-sql/functions/len-transact-sql?view=sql-server-2017

       https://docs.microsoft.com/en-us/sql/relational-databases/json/format-query-results-as-json-with-for-json-sql-server?view=sql-server-2017

  • 相关阅读:
    记一次开发的日常2020-01-09
    python configparser模块
    python logging模块
    python eval() hasattr() getattr() setattr() 函数使用方法详解
    redis 连接池
    Python 数据库连接池
    Object arrays cannot be loaded when allow_pickle=False
    注册网站 captcha reCHAPTCHA 错误
    网站收藏
    Python创建命令行应用的工具 tools for command line application in python
  • 原文地址:https://www.cnblogs.com/ZJ199012/p/10109490.html
Copyright © 2011-2022 走看看