为什么 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() 函数忽略尾随空格? 的相关文章

  • t sql中的相对路径?

    如何获取t sql中的相对路径 举个例子 sql文件位于文件夹中D temp 我想获取文件夹中文件hello txt的路径D temp App Data 如何使用相对路径引用 假设我正在 SQL Server Management Stud
  • 从存储过程中的动态 SQL 获取结果

    我正在编写一个存储过程 需要在过程中动态构造 SQL 语句以引用传入的表名称 我需要让这个 SQL 语句返回一个结果 然后我可以在整个过程的其余部分中使用该结果 我尝试过使用临时表和所有内容 但我不断收到一条消息 提示我需要声明变量等 例如
  • 在存储过程结束时显式删除本地临时表有什么好处?

    考虑以下伪 T SQL 代码 由存储过程执行 CREATE TABLE localTable
  • 按两列的最小值排序

    I use SQL Server 2008 R2 我需要按两列的最小值对表进行排序 该表如下所示 ID integer Date1 datetime Date2 datetime 我希望我的数据按至少两个日期排序 以这种方式对该表进行排序的
  • SQL Server - 比较 2 个表中同一列中的数据,而不检查是否相等

    我之前问过这个问题here https stackoverflow com q 51865261 1693085 但答案实际上并不是我想要的 假设我的 SQL Server 2012 数据库中有以下两个表 Tbl1 ID Col1 Col2
  • 获取每月第二个星期二的日期

    有没有办法使用 T SQL 语法找出每月第二个星期二的日期 例如 三月是十二号 四月是九号 您可以通过此方法查找 2013 年所有 第二个星期二 select dateadd day 8 datediff day 1 dateadd mon
  • 空间索引无助于 SQL 查询(性能非常慢)

    我正在尝试测试包含 170 万个邮政编码的表中纬度 经度值的空间索引的性能 我创建了一个地理列并向其中添加了一个索引 但是使用空间索引的查询比在同一个表中的纬度 经度列上使用 正常 索引的查询要慢得多 至少 100 倍 但是查询计划显示索引
  • SELECT * FROM (VALUES (x,y)) AS TableLiteral(Col1, Col2) 的名称

    以下是有效的 SQL 语法 SELECT FROM VALUES p q x y AS TableLiteral Col1 Col2 并返回表 Col1 Col2 1 p q 2 x y 此语法可以进一步用于 CTE 等 这个有名字吗 我通
  • TSQL ROW_NUMBER() OVER(分区依据...排序依据...)

    我可以在没有分区的情况下执行 row number 吗 参见帖子末尾的数据 我可以使用此语句来获取订单 ROW NUMBER OVER PARTITION BY LOG ID ORDER BY ORDER ID 有什么建议可以获取 LOG
  • SQL 注入:replace("'", "''") 还不够好吗?

    虽然我当然可以看到使用参数进行 SQL 查询的优点 特别是在处理日期时间和类似的事情时 但我仍然不确定参数作为only防止SQL注入的方法 事实是 我继承了一个应用程序 它有类似的东西 SELECT Field FROM Table WHE
  • 获取 TransactSql 批处理中的语句数计数

    对于不使用 Delphi 的读者 虽然以下内容是根据 Delphi 编码来表达的 但我的实际技术问题不是特定于 Delphi 的 而是关于如何找出 Sql Server 如何 理解 TransactSql 批处理提交给它 TAdoQuery
  • 从视图中的动态表名称中选择

    我的客户每年都会创建一个新表 其名称中包含年份 我必须在 SQL Server 数据库的新视图中使用该表 我已经通过一个查询解决了这个问题 DECLARE SQLString nvarchar 500 SET SQLString SELEC
  • SQL Server 表不使用默认值

    我正在使用 SSIS 包填充表 这个想法是 每当包上传到表时 它都会使用时间戳记该值getdate 当我打开它时 我的 DDL 看起来像这样 CREATE TABLE REPORTING post ssis table 1 validati
  • SQL链接服务器查询非常非常慢

    我正在通过链接服务器从视图中提取大量数据 我使用的是 SQL Server 2012 链接服务器是 SQL Server 2008 我的选择语句是 SELECT INTO MY LOCAL TABLE FROM SELECT FROM LI
  • 实体框架以错误的顺序插入子对象

    Question 为什么 EF 首先在它所依赖的对象 TimesheetActivity 之前插入具有依赖项的子对象 PersonnelWorkRecord 另外我有哪些纠正这个问题的选择 ERD 简化 This is predefined
  • 如何遍历与自身有关系的表?

    我有一个如下表 Node Id Node Name Parent Node Id 1 Root 0 2 Node1 1 3 Node2 1 4 Node3 2 5 Node4 2 6 Node5 5 7 Node6 5 8 Node7 7
  • 在 SQLCMD 模式下格式化输出?

    有没有办法可以指定输出文件格式SQLCMD模式这样我就可以使用它读回来BULK INSERT 我想做这样的事情 CONNECT SERVER1 OUT E test SELECT TOP 100 ID NAME FROM DB1 dbo T
  • 将单个列连接到逗号分隔的列表中[重复]

    这个问题在这里已经有答案了 我已经看到了人们将单个列滚动到逗号分隔列表中的多个示例 但我需要更多 这是我需要的数据和结果的示例 DECLARE SalesPerson table SalesPersonID int SalesPersonN
  • 从表中删除孤儿

    我正在尝试清理一张有很多孤立项目的桌子 我通过查找空值来检查是否与另一个表存在关系来解决此问题 DELETE FROM table1 LEFT JOIN table2 ON table1 ID table2 ID WHERE table2
  • 正则表达式 '?' 的类似物(前一项可选)在T-SQL中像什么?

    我想知道 是否可以翻译包含 的正则表达式 前面的项目可选 在 T SQL LIKE 模式中 DB 端无需任何操作 例如 31 4 我可以将其分成几个子句 但如果正则表达式包含很多 这不太方便 LIKE不使用正则表达式 并且它使用的模式语言没

随机推荐

  • 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 函数设计成这样工作 这种行为解决了什么问题 有