首页
学习
活动
专区
工具
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,那默认为字符串后边有一个分隔符号

4K10

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)) 或者,将要查找值放在一个单元格,然后使用公式来查找相应

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

C51简介及Keil使用

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

5.8K43

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

2.9K20

使用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.4K20

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

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

89860

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。

55920

单片机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.3K20

FreeRTOS移植-基于STM32F407

首先新建或找一个基于KeilSTM32基础工程,这里我已经创建好了一个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.15STM32F407 + FreeRTOS工程模板

1.5K21

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 转载:

3.3K21

使用VisualGDB开发Keil MDK-ARM项目

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

2.3K30

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

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

21210

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.2K10

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 编译后

2.4K10

关于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定义了很多内核指令函数,这个应该不常用,先不管。...暂时研究到这里,后面开始实践咯,就是使用几个文件各种函数试试。

53010

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

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

1.1K30

单片机入门:点亮多个LED灯

在用51单片机点亮一个LED小灯基础上,下面尝试点亮多个小灯。 硬件电路设计 结合51单片机最小系统知识,利用AD19画好最小系统电路(未包括电源部分)。...程序设计 程序采用Keil5设计,点亮本设计4个LED程序: /*----------------------------------------------- 名称:IO口高低电平控制 内容...:点亮P1口多个LED灯 该程序是单片机学习中最简单最基础, 通过程序了解如何控制端口高低电平 ------------------------------------------...用sbit 关键字 定义 LED到P1.0端口, sbit LED1=P1^1;//LED是自己任意定义且容易记忆符号 sbit LED2=P1^2; sbit LED3=P1^3; sbit LED4...} } 仿真实现 为了直观感受本设计实现效果,这里利用protues8.7仿真实现多个LED灯点亮,具体如图,四个红灯被点亮,四个未被点亮。

3.5K20

STemwin图形库移植与运用(基于STM32)(完成QQ界面设计、局域网聊天)

这篇文章主要讲解Stemwin移植与基本使用。 下面示例图是为了讲解STemwin基本用法,做界面两个例子。 QQ应用界面完成之后加上网卡就可以完成局域网之间多个设备之间聊天了。...行定义 } GUIDRV_Template_API 变量是在GUI.h167行定义。...这4个函数,在GUI_X.c文件里定义,需要将GUI_X.c文件添加到工程。...在keil软件安装目录下,有完整emwin包,可以找到DEMO代码。 将GUIDemo文件夹全部拷贝到工程目录下,并将里面所有的.c文件加到工程。...(2) 制作ASCII 码字库 上面制作了GBK中文字库,这里还需要制作尺寸一样ASCII码字库,方便显示与中文大小相同英文字母和标点符号。 !"

2.4K20

ARM(一).LED and BEEP

uVision v4.10 Tip: 都不是最新,但能用,原理相通 Windows 7 32位旗舰版 天嵌2440V2开发板 三星 ARM920T 芯片 H-JTAG v2.1 Keil uVision...;AREA 伪指令用于定义一个代码段或数据段,ARM汇编程序设计采用分段式设计,一个ARM源程序至少需要一个代码段,大程序可以包含多个代码段及数据段 ;RESET 是代码段或数据段名称 ;CODE...定义为代码段 ;READONLY 指定本段为只读,代码段默认属性为只读 ENTRY ;ENTRY伪指令用于指定程序入口点,一个程序(可以包含多个源文件)至少要有一个ENTRY,可以有多个...ENTRY,但一个源文件中最多只有一个ENTRY CODE32 ;CODE32伪指令指示汇编编译器后面的指令为32位ARM指令 IMPORT CtrlLED ;IMPORT伪指令指示编译器当前符号不是在本源文件定义...,而是在其它源文件定义,在本源文件可能引用该符号 IMPORT CtrlBEEP ;CtrlLED CtrlBEEP 两个符号都是在另一个文件定义 PRESERVE8 ;PRESERVE8

64820
领券