如果 start 不是从 0 开始,我们是否需要从 SUBSTRING 长度中删除一些字符?

太阳人

我遇到了这句话和东西有什么区别

DECLARE @MyStr nvarchar(max) = 'This is a sentence'
SELECT SUBSTRING(@MyStr, 6, LEN(@MyStr)**-5**)

DECLARE @MyStr nvarchar(max) = 'This is a sentence'
SELECT SUBSTRING(@MyStr, 6, LEN(@MyStr))

我运行了两者,后者没有添加任何空格或任何东西。

蒂姆·比格莱森

第三个参数 toSUBSTRING是要取的子串的长度。在第一个示例中,长度正好覆盖了字符串的其余部分。在第二个示例中,长度超过字符串的实际可用长度 5 个字符。关于长度大于可用长度时会发生什么,我们可以参考SUBSTRING文档

length
是一个正整数或 bigint 表达式,指定将返回多少个表达式的字符。如果长度为负,则生成错误并终止语句。如果 start 和 length 的总和大于 expression 中的字符数,则返回从 start 开始的整个 value 表达式。

换句话说,如果length参数加上传递的起始值大于可用的值,SUBSTRING则只返回可用的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在遍历JS数组的值时,如果我删除了值,是否需要使用while而不是for?

在C ++中:如果我们在字符串中添加一些整数,为什么它从一开始就删除了那么多字符?(字符串+整数)

如果我们从函数构造函数创建一个名为“ a”的对象,那么为什么“ a”不是Function的实例?

如果只有一个编写器线程,我们是否需要同步Java HashMap获取

如果我们可以覆盖Javascript中的undefined,那么“ void 0”从哪里获取价值?

如果不是我们想要的,删除子字符串吗?

如果我们使用notify_one()唤醒线程,在C ++中是否还需要yield()?

如果ctx.getThreadNum()返回从0开始而不是1的数字,这是JMeter的错误吗?

如果我们在onload回调而不是异步回调中显示从XHR检索到的数据怎么办

在C ++中,我们可以取消引用该指针吗?如果是这样,那么如何,如果不是,那么为什么?

SQL检查是否存在非唯一记录—如果存在,则为UPDATE;否则,为0。如果不是,则将记录插入表

如果我们错误地删除了一些迁移文件,该怎么办?

如果不是0和1,则返回false

如果我们使用DSB,是否需要DMB

以最快的方式从字符串中检索SubString。从头开始的格式是固定的,但不是从头开始的格式,并且长度也不是固定的

如果内核中启用了acpi模块,我们是否需要acpid服务才能运行以进行软关机?

如果别名的定义中包含具有唯一约束的列,我们是否需要在视图中指定别名?

如果不是在Javascript中

如果我的自定义视图的位置不是(0,0),则会被裁剪

如果我们想在 Hibernate 中存储日期,是否需要 TemporalType = Timestamp?

为什么在二分搜索中我们除以 2 而不是其他一些更高的常数

如果我们在 start 方法而不是 run 方法中执行整个 Thread 功能会发生什么?

如果在字符串方法中的参数为负数,我们是否仍然从零开始计数?

如果方法不是,则卸载一些代码

在 Unix 中,如果我们列出目录中的文件数。如果没有找到文件,如何只获取输出而不是错误消息

如果字符文字总是 int 类型,为什么我们在 C 中有 char 类型?C 中的整个 char 类型不是多余的吗?

如果我们从向量中删除一些元素,向量的结束地址是否会改变,因为在向量中,内存是按顺序分配的(与数组相同)

在 python 中,如果用户输入的是字符串而不是数字(整数值),那么我们如何向用户显示输入无效的消息?

如果在某个分组中找不到某个值,我们如何才能将计数设为 0,而不是在 data.table 汇总中完全删除该行?