首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL Server中自定义函数:用指定的分隔符号分割字符串

但是对于 特殊字符串的处理,比如:ISBN号 '978-7-5007-7234-7',如果想获取第三个与第四个分割符号之间的数字, 那么SQL 内置函数无法直接做到。这时就需要自定义函数。...下面自定义三个函数,用于处理特殊的字符串。 一、按指定符号分割字符串,返回分割后的元素个数 1 ALTER FUNCTION [dbo]....); --分割符号在字符串中第一次出现的位置(索引从1开始计数) 16 17 SET @length = 1; 18 19 WHILE @location 0...8 AS 9 BEGIN 10 DECLARE @location INT; --定义第一次出现分隔符号的位置 11 DECLARE @start INT; --定义开始位置...37 --2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。

4.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VBA自定义函数:一次查找并获取指定表格中的多个值

    标签:VBA,自定义函数 这个自定义函数来自于forum.ozgrid.com,可以在指定表中查找多个值,并返回一组结果,而这些结果可以传递给另一个函数。...IDs(i), Table, TargetColumn, False) Next MultiVLookup = Result End Function 其中,参数是ReferenceIDs代表要查找的值...;参数Table是包含查找内容的表;参数TargetColumn代表表中返回结果的列;参数Delimeter代表分隔符,可选,取决于第一个参数。...例如,下图1所示的数据,表名为MyTable。...图1 要查找MyTable表中A、B、D对应的第2列的值并求和,可使用公式: =SUM(MultiVLookup("A,B,D",MyTable,2)) 或者,将要查找的值放在一个单元格中,然后使用公式来查找相应的值

    25410

    C51简介及Keil的使用

    ,即”{“后面,且变量定义前不能有非定义语句。...Keil编译器为了执行效率,都是将变量存放到寄存器上再来操作的,这就导致第二次取变量值时,可能是直接从寄存器中取值,而不是从内存上读取。...text(x:0xE000) CO表示Code,全局数组定义之后,是会被放在Code中 text表示变量名 x:0xE000,表示指定的内存为xdata类型,地址为0xE0000 函数绝对地址定位...l Keil使用Lib文件,同样简单,即在目标工程中,添加要使用的Lib文件,然后在要使用的文件里添加相应的头文件即可。...工程模块,当一个项目较大时,可以建立多个工程,其中一个执行文件工程和多个Lib库工程。建立多个工程,能够有效降低代码的耦合性。 附件 1.

    6.8K43

    cmake:基于MDK(Keil)的Nationstech.N32G45x平台交叉编译工具链定义

    Keil MDK是非常常用的单片机开发集成环境,Keil公司2005年由ARM公司收购,现在是ARM主要的嵌入系统开发平台(ARM的另一个开发环境ds-5早在九年前就停止更新了)。...cmake实现交叉编译最重要的就是正确的定义编译工具链(toolchain),本文以Nationstech.N32G45X(国民技术)平台为例说明如何在定义cmake交叉编译工具链来实现使用MDK的armcc...编译器,C:\Keil_v5为Keil 编译器的安装位置 N32G45X_SDK_PREFIX为 N32G45X SDK安装位置,这个很重要,因为后面的交叉编译脚本中(cmake/n32g45x.toolchain.cmake..."${_compiler_prefix}/bin/armar${_suffix}" CACHE FILEPATH "Archiver") # 参考N32G45X SDK 工程文件(.uvprojx)中的编译选项定义...,这个工具链文件中编译选项部分是可以正常执行的,链接选项并没有验证是否正确。

    1K60

    keil如何生成bin文件_keil4生成bin文件

    如何利用KEIL生成bin文件并且用于固件更新? 生成bin文件 KEIL在编译完成后在Object目录下生成axf文件,我们可以使用fromelf工具将axf文件转化为bin文件。...在User选项卡中可以看到如果勾选了Run#1选项,那么在编译完成之后(After Build/Rebuild),就会执行该选项下的命令。...,KEIL生成bin文件要根据输入命令的相对\绝对路径来分,有两种方式: 绝对路径方式 绝对路径方式,如果更换电脑等,需要手动修改MDK工具链(formelf.exe)所在路径与项目文件名(例如test_app...在命令中使用的符号代号如下: 符号代号(Key Code) $ 扩展为 指定文件的路径名 @ 表示 Output -> Name of Exectable:定义的工程名,比如test1 build工程后...,生成的就是最终的xx.bin文件 更多的符号代号可参考原文链接(Keil官方):Key Sequence for Tool Parameters http://www.keil.com/support

    3K20

    使用VisualGDB将Keil项目导入VisualStudio

    前言 本教程展示了如何使用新的Keil项目导入器将Keil ARM项目自动转换为使用MSBuild和GCC构建的VisualGDB项目。在开始之前,安装VisualGDB 5.3或更高版本。...然而VisualGDB将自动发现丢失的目录,并让您只需按“添加现在”即可将其添加到设置中: ? 7、另一个错误是lwIP库重新定义了gcc已经定义的时间值结构: ?...9、另一个构建错误将由默认的软件浮点模式和项目中包含的FreeRTOS端口之间的不兼容引起: error : selected processor does not support `vstmdbeq...这是因为项目包含了一个特殊的数据部分,该部分需要放入QSPI内存中,而Keil导入器不能自动转换它。...这是通过使用本教程中描述的VisualGDB FLASH编程插件实现的。将加载FLASH插件教程中描述的命令加载到OpenOCD命令行中,并按“OK”保存设置: ?

    1.6K20

    【嵌入式】Keil 工程文件详细讲解

    ProjectName.uvprojx:这是 Keil 项目文件的核心,包含项目结构、目标设备、编译和链接设置等。这个文件是每个 Keil 项目必需的,因为它定义了项目的基本框架。...Keil 工程文件结构的必须和可选部分 为了帮助开发者更好地理解 Keil 工程文件结构中的各部分,以下是文件和文件夹的必须性分类: 4.1 必须的文件和文件夹 配置文件 ProjectName.uvprojx...工程结构示例表格描述 为了更好地展示 Keil 工程文件结构中的各文件和文件夹及其功能,以下是重新设计的表格描述,分组明确,显示每组文件夹和文件的功能及必需性。...通过这种分组表格描述,可以更清晰地展示 Keil 工程结构中各文件和文件夹的功能及必需性,有助于开发者更好地理解和组织 Keil 项目文件结构。 6....6.3 工程配置 编译选项:根据项目需求调整编译和链接选项,优化代码的性能和大小。 调试配置:配置调试选项和符号,帮助开发者在调试过程中更好地分析和解决问题。

    34410

    FreeRTOS移植-基于STM32F407

    首先新建或找一个基于Keil的STM32基础工程,这里我已经创建好了一个STM32F407VET6的工程模板,工程结构如下图的第1步的矩形框内所示。...下面需要移植FreeRTOS了,将FreeRTOS的源码文件复制到工程文件夹中,一些用不到的文件可删除(哪些文件需要用到可参考上一篇的源码结构分析部分),然后在Keil中也创建一个FreeRTOS目录,...Build Time Elapsed: 00:00:23 有一个错误,找不到"FreeRTOSConfig.h",这个文件在FreeRTOS源码的Demo文件中, 将Demo中的"FreeRTOSConfig.h...又提示4个hook函数未定义, 这是因为在"FreeRTOSConfig.h"中定义了这些钩子函数,但未找到函数定义,我们先注释掉这些定义, 就是将configUSE_IDLE_HOOK之类的宏定义定义为...Template_FreeRTOS:基于Keil5.15的STM32F407 + FreeRTOS工程模板

    1.5K21

    M-Arch(番外2)GD32L233评测-开发环境搭建(基本框架+freeRTOS+编译通过)

    先把编译环境搞定吧,顺势把M23融合到我的M-Arch里面去。 IDE用的是keil,版本是5.30,前面弄过几次,反正吧不是特别友好。...官方特别提示了要用KEIL5,KEIL5工程的后缀是uvprojx,KEIL4工程的后缀是uvproj 另外我搭环境过程中发现编译器只能用AC6,跟AC5差别还是有一些,有些折腾人,细节后面说到。...更离谱的是,keil上面有官方网站上还没有的新版本··· keil pack管理器的版本 框架融合 M-Arch的基本思想是把IO进行封装和抽象,屏蔽厂家的差异性,从而达到IO跟业务解耦的目的。...M-Arch架构: M-Arch架构 M-Arch IO目录层次: M-Arch IO目录层次 在之前的设计中,我打算把GD32的放到一起,通过宏来区分,但是等把GD32L233CC配置(GD32L233CC...M23的很多资源只有1个,定义就不一样了。 例如DAC只有一个,宏定义就是DAC而不是DAC0。

    63420

    单片机c51头文件的解释

    这两个头文件基本是一样的,只是在使用时对位的定义不一样,   at89x51.h 文件中对 P1.1的操作是写成 P1_1;   reg51.h 文件中的操作则写成 P1^1。...sfr 并非标准C语言的关键字,而是 Keil 为能直接访问 80C51 中的 SFR 而提供了一个新的关键词,其用法是:sfrt 变量名=地址值。   ...你这么认为,C 编译器可不这么认为,所以必须给它们建立联系,这里使用了 Keil C 的关键字 sbit 来定义, sbit 的用法有三种:   第一种方法:sbit 位变量名=地址值   第二种方法...PSW 的地址值 因此这里用 sfr P1_0=P1^0;就是定义用符号 P1_0 来表示 P1.0 引脚,如果你愿意也可以起 P10 一类的名字,只要下面程序中也随之更改就行了。...因为被包含的文件中的一些定义和命令使用的频率很高,几乎每个程序中都可能要用到,为了提高编程效率,减少编程人员的重得劳动,将这些定义和命令单独组成一个文件,如 reg51.h 然后用#include<reg51

    2.5K20

    KEIL MDK生成bin文件的两种方法

    KEIL MDK生成bin文件的两种方法: 生成bin文件的设置路径: Keil -> Option for Target -> User -> After Build/Rebuild -> Run...#1(勾上) -> 输入bin文件的生成方式 bin文件的生成都是通过fromelf.exe来实现的,fromelf.exe一般在Keil的安装路径下: 例:D:\Keil\ARM\ARMCC\bin...\fromelf.exe 这里又区分相对路径和绝对路径两种: 例:一个工程需要生成的文件名为 test_app, 1、Keil -> Option for Target -> Output -> Select....axf文件的名称和路径需要和Name of Executable的名字和路径一样,.bin文件名可以自定义。 如果有拷贝到其他电脑上,发生路径变化就需要重新填写正确的路径。...编译后,生成的就是最终的xx.bin文件 符号描述详见: http://www.keil.com/support/man/docs/uv4/uv4_ut_keysequence.htm 转载:

    4K21

    使用VisualGDB开发Keil MDK-ARM项目

    在第一页打开VisualGDB项目属性,并指定从uVision标志中提取的目录的定义和包含目录: ? 注意,您可以指定与项目目录相关的路径(例如,RTE表示RTE)。...,你将会得到几个错误关于丢失的HAL符号: ?...这将确保GDB将初始化数据以Keil期望的方式放入FLASH中: ? 经过修改的Makefile片段如下所示(片段名称和地址取决于设备,应该从原始elf文件转储中取出): ?...xml文件引用设备定义文件: ? 重新开始调试您的项目,并验证硬件寄存器现在显示: ? 最后,我们将修复Keil错误消息的解析。由于它们使用的语法与GCC不同,VisualGDB默认不会识别它们。...如果您正在使用VisualGDB和Keil编译器,请在论坛中告诉我们。一旦我们收集了足够的反馈,我们将在下一个VisualGDB版本中简化与Keil工具的集成。

    2.4K30

    C51 单片机开发用 Keil 创建工程

    注意:文件夹需要是一个空的文件夹,因为一个工程中有多个文件,这个文件夹最好是专门为一个工程单独创建的。 选择好文件夹以后,在 "文件名" 的位置填入工程的名称,这里根据实际的项目填写即可。...到此,Keil 的工程目录结构如下: 到此,用 Keil 就创建了一个空的工程,接下来在该工程中添加一个 C 程序代码。...在 "Build Output" 窗口的最后一行,可以看到有一个 "0 Error(s), 0 Warning(s)" 的提示,表示代码中没有错误,也没有警告,一般这是 C/C++ 程序员最爱看到的结果...一般情况下,如果有 Error 需要修改,有 Warning 可以暂时忽略不管。...这样,第一个通过 Keil 创建的 C51 的工程就完成了,生成的 hex 文件就是要烧录到单片机中的文件,后面的文章会进行介绍。

    46010

    keil5使用技巧

    所有库函数 例如:找GPIO的库函数 打开gpio.h的文件,也是拖到最后,这些就是GPIO的库函数 8、快速屏蔽和启用程序段 9、工程文件的移除 比如我们在工程中添加了很多不需要...接下来,我们想要一个数字统计中断触发的次数; 11.添加书签 12.不同stm32芯片的工程移植 问题:解决Error:Flash Download failed -“Cortex-M3”问题...使用keil5将把stm32F10ZE的工程下载到stm32F103C8T6板子上使用,出现“Error:Flash Download failed -“Cortex-M3”” 1.更改启动文件...点击三个小房子→同样在这里_md.s文件也替换掉_hd.s文件; 2.更换芯片型号 点击“魔术棒”按钮→把“STM32F103ZE”更换为“STM32F103C8”; 3.更改全局宏定义...要在mdkversion5中使用此项目,您可以 迁移到设备包 到已安装软件包,您可以迁移到新的foemat 安装旧版支持 要继续使用旧的项目格式,请安装mdk版本5-旧版对coretx-m设备的支持

    2.6K10

    关于core_cm3.c和core_cm3.h,Core_cmFunc.h 和 Core_cmInstr.h的理解

    接下来就来了解一下Core_cm3.c里面有什么东东: 首先是汇编关键字__ASM和__INLINE的宏定义,支持不同的编译器。由于使用的是Keil,所以就只看第一种,__CC_ARM。...__ASM int32_t__REVSH(int16_t value):反转字节顺序,并做符号拓展。就是在__REV16函数得到的结果上再进行一次符号拓展。这两个函数主要是方便进行大小端的切换。...第二个:core_cm3.h定义了兼容各种编译器的关于debug和NVIC的一些函数,这些函数在中断设置中是很好用的。其中还有系统节拍器函数。...担不是头文件和源文件的关系。当然这个文件一开头还有内核寄存器的定义。下面才能用操作内核寄存器。 第三个:Core_cmInstr.h定义了很多内核指令的函数,这个应该不常用,先不管。...暂时研究到这里,后面开始实践咯,就是使用几个文件中的各种函数试试。

    61910

    KEIL MDK生成BIN文件的两种方式「建议收藏」

    KEIL / MDK生成BIN文件的两种方式 1 KEIL工程配置入口 点击“魔术棒”图标(Option for Target) 在After Build/Rebuild选项卡中,勾选 “Run #...1”,在后面输入框写入bin文件生成方式,见2.1、2.2 2 输出Bin文件配置 KEIL生成bin文件,根据输入命令的相对\绝对路径来分,有两种方式,都是通过自带的fromelf.exe来生成 2.1...\obj\test1.axf 上述操作后,在xxx.uvprojx当前目录下,可看到一个新生成的Bin文件夹,里面是test1.bin 符号代号(Key Code) $ 扩展为 指定文件的路径名 @...表示 Output -> Name of Exectable:定义的工程名,比如test1 build工程后,最终生成的bin文件名称将是test1.bin !...\obj\xx.axf文件 文件代号(File Code) K keil develop chaintool 工具链(fromelf.exe) L Linker output file L.bin 编译后

    3K10

    Keil自带的操作系统RTX内核---内存管理分析

    Keil RTX 是免版税的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备。使用该系统可以创建同时执行多个功能的程序,并有助于创建结构更好且维护更加轻松的应用程序。...关于Keil RTX就不多说了,使用KEil软件作为开发的用到RTX的不少吧。 RTX系统配合KeilMDK软件使用起来还是比较简单的,开发也很方便。...RTX系统中的各个模块都是比较独立的,这点很方便学习。其中的内存管理部分在rt_MemBox.c函数中。...找到这个宏的定义出,就看到了它的真面目,分配了一个大数组,叫它内存池吧。...定义指针是要占一个空间的,因为它是个变量,定义成mp_tcb[]实际是不占空间的。数组名只是一个符号。它们取指运算的效果相同但是不是相等。可以把数组名看做常量指针吧,只是看做但并不是。

    1.2K30

    【嵌入式】制作 `.lib` 时需要 `.c` 和对应的 `.h` 文件吗?

    答案:需要 .lib 文件: 是必须的,包含函数实现的目标代码,用户项目通过链接器(LX51)解析符号。 .h 文件: 是必须的(除非用户手动声明所有接口)。...原因: 用户代码(如 adc.c)需要知道函数原型和结构体定义(如 CircularBuffer),这些通常在 .h 文件中。...不提供 .h,用户无法调用 .lib 中的函数,除非自己重写声明(不现实)。...链接器(LX51): 将用户代码(adc.obj)与 .lib 链接,解析符号(如 _init_circular_buffer),不会重复定义。...符号唯一性: 链接器确保每个符号(如 _init_circular_buffer)只定义一次,若 .lib 和用户代码重复定义同一符号,会报错(如 L121: SYMBOL DEFINED MORE

    3000
    领券