为什么 t-sql 的 LEN() 函数忽略尾随空格?

2024-04-15

MSDN上LEN()函数的说明 http://msdn.microsoft.com/en-us/library/ms190329.aspx:返回指定字符串表达式的字符数,排除尾随空格.

为什么 LEN() 函数设计成这样工作?这种行为解决了什么问题?

有关的 :

  • SQL Server 中的 LEN 函数不包含尾随空格 https://stackoverflow.com/questions/2025585/len-function-not-including-trailing-spaces-in-sql-server
  • charindex() 最后计算白字符,len() 在 T-SQL 中不计算 https://stackoverflow.com/questions/1253355/charindex-counts-whiteshars-in-the-end-len-doesnt-in-t-sql

它修复了由于数据类型长度而导致的字符串自动填充。考虑以下:

DECLARE @Test CHAR(10), @Test2 CHAR(10)
SET @Test = 'test'
SET @Test2 = 'Test2'
SELECT  LEN(@Test), LEN(@Test + '_') - 1, LEN(@Test2), LEN(@Test2 + '_') - 1

这将分别返回 4、10、5 和 10。即使 @Test 没有使用尾随空格,它仍然保持 10 的长度。如果 LEN 没有修剪尾随空格,则LEN(@test) and LEN(@Test2)会是一样的。人们常常想知道有意义数据的长度,而不是自动填充的长度,因此 LEN 会删除尾随空白。有一些解决方法/替代方案,但这不是必需的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 t-sql 的 LEN() 函数忽略尾随空格? 的相关文章

随机推荐

  • WPF,树视图选择更改

    有没有办法捕获更改 WPF TreeView 中当前选定项目的尝试并可能取消它 树视图中的元素代表具有某些属性的页面 我想询问用户是否要放弃在页面上所做的更改 保存它们或保留在当前页面 一个更简单的解决方案 覆盖 PreviewMouseD
  • 从 VSIX 命令调用 Roslyn

    从 EnvDTE ProjectItem 获取 Roslyn 的 SyntaxTree 的最佳方法是什么 我找到了另一种方法 Roslyn s Document into ProjectItem 我从打开的文档中调用了 VSIX 命令 我想
  • JDBC/数据库单元测试的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有与多个数据库 如 Sybase Postgress DB2 等 通信的代码 因此 我有不同的模块 对每个数据库都有不同的查询 我开始使用 H
  • 调用OData服务时发送授权cookie

    我有 2 个网络应用程序 第一个 Web 应用程序包含 ASP NET 网页并使用成员资格提供程序进行身份验证 第二个 Web 应用程序严格来说是一个需要身份验证的 OData WEB API 站点 两个站点在 Web 配置中具有相同的 m
  • 为什么我无法运行android模拟器? java.io.IOException:错误=13,权限被拒绝

    我已经按照 android 网站告诉我的那样安装了所有内容 并且在创建我的 avd 后我不断得到的是 Failed to start emulator Cannot run program home hevel eclipse androi
  • DataError:没有使用平均聚合函数但不使用总和的数字类型?

    我想知道是否有人可以帮助解释使用 agg 的以下行为 import numpy as np import pandas as pd import string 初始化数据框 df pd DataFrame data list string
  • DataTables 警告:从行“0”的数据源请求未知参数“0”

    有人知道下面这个非常简单的 HTML 文件有什么问题吗 我只是想用对象数组 http datatables net release datatables examples ajax objects html作为 DataTables 的数据
  • 检查正在使用的应用程序版本[重复]

    这个问题在这里已经有答案了 可能的重复 如何向用户显示我的App当前的项目版本 https stackoverflow com questions 1492351 how to display the current project ver
  • Google 表格搜索值并返回存在该值的多行的某些列

    我正在寻找一个可以执行以下操作的公式 在 E I 列中查找一个值 并从该值所在的行中返回 B D 列中的所有值 示例 寻找S190202 它将从第 2 5 6 行返回 B D QUERY A1 I select B C D where E
  • 在持续集成中运行的测试中应如何设置功能切换?

    使用功能切换时如何进行测试 您希望您的开发计算机尽可能接近生产 从我观看的视频来看 功能切换的实现方式是允许某些人 使用 该功能 即 0 到 100 的用户或选定的用户等 为了正确进行持续集成 在测试时是否必须使用与生产服务器相同的功能切换
  • jquery 从 DOM 获取非唯一 ID

    假设我有这两个唯一 ID 的 div 其输入元素不是唯一 ID 的输入 div div
  • 列表视图中的多重绑定

    我有一个包含几列的 ListView 我可以将每个 GridViewColumn 绑定到一个属性 例如
  • 为什么align-end在vuetify中不起作用

    我使用 vuetify 布局 我想在右侧制作按钮 但我发现align end这是 vuetify 属性不起作用 我使用offset xs9使按钮位于右侧 但按钮位于中间v flex 怎样才能做到最后呢 帮助谢谢 代码如下 div div
  • 如何获取textView可以在Android中显示的数字线

    我想知道 textView 可以显示的数轴 我可以在一行中获取数字字符 int maxVisibleChars textView getPaint breakText text true textView getMeasuredWidth
  • Meteor Subscribe 不更新集合的排序顺序

    Snippet from Template div class post container each elements gt post element this each div Snippet from Client Meteor su
  • 哪个更高效?更多核心或更多 CPU

    我意识到这更多的是一个硬件问题 但这也与软件非常相关 特别是在多线程多核 CPU 环境编程时 哪个更好 为什么 无论是效率 速度 生产力 可用性等 1 具有 4 个四核 CPU 的计算机 服务器 or 2 具有 16 个单核 CPU 的计算
  • 取消指纹扫描仪

    我正在开发一个具有安全功能 包括 PIN 和指纹 的程序 但现在我在输入密码 PIN 或指纹 时遇到问题 加入正确的指纹没问题 但是当我输入 PIN 码时 在退出 PIN 和指纹活动后 机器会继续侦听指纹 我知道这一点 因为当我单击 主页
  • Laravel 选项选择 - 默认问题

    这是我的选择框 所有公司都将加载到这里 但我想将特定公司显示为默认选择我在会议上有这个 这是我的代码 sessioncompany ABCcompany comp Company foreach company list as row en
  • 如何通过 HTML 输入标签获取文件的引用? (角度2)

    我想在 Firebase 中上传图片 但要做到这一点 我必须先获取文件 例如 如何通过 HTML 获取我的计算机的图像 我正在尝试这样做 但我不知道这样做的回报是什么 帮帮我吧伙计们
  • 为什么 t-sql 的 LEN() 函数忽略尾随空格?

    MSDN上LEN 函数的说明 http msdn microsoft com en us library ms190329 aspx 返回指定字符串表达式的字符数 排除尾随空格 为什么 LEN 函数设计成这样工作 这种行为解决了什么问题 有