问题标签 [truncation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 将 int 值转换为太小的 char
在 MSSQL 2005 上尝试以下操作:
这里的关键是 char(2) 太小而无法接受值 '123'。我希望在这里看到截断错误,而是返回值“*”。
更新: 一些答案显示了如何以会导致错误的方式进行投射。这不是我真正需要的。我们有很多使用特定字段的代码,这些字段曾经被声明为 char(2),但后来被更改为 int。我的目标是确保未转换的代码在遇到无法处理的数据时会崩溃。所以我们可以去修复它。
有趣的是,dsolimano指出将上述类型更改为 nchar 会导致预期的错误,而Justin Niessner指出这两者都是设计使然。奇怪的不一致,因为 nchar 是为了支持 Unicode,嘿?
从我在这里得到的答案看来,我很遗憾无法让服务器为现有代码抛出错误。
php - 将字符串截断为字符串的前 n 个字符,如果删除了任何字符,则添加三个点
如何在 PHP 中获取字符串的前 n 个字符?将字符串修剪为特定数量的字符并在需要时附加“...”的最快方法是什么?
android - Android 调试器会截断调试消息吗?
我问是因为我试图调试 SQL 查询问题,而 adb 似乎只显示 SQL 字符串的一部分并切断了结尾。
运行查询时出现“无法识别的令牌”错误:
如您所见,上面的查询似乎被截断了。
ssis - SSIS OLE DB数据流源:输出可能具有不同长度的列
我创建了一个 SSIS 包,以便可以按计划的时间间隔从旧版 FoxPro 数据库中导入数据。FoxPro 数据库的副本为多个客户安装。总体而言,该软件包运行良好并完成了我所需要的一切。
但是,我有一种烦人的情况,其中至少一个客户(也许更多)有一个修改过的 FP 数据库,他们增加了一个表中一列的长度。当我在这样的客户上运行包时,由于截断而失败。
我想我可以给自己一些回旋余地并将长度从 3 更改为 10。这样可以容纳长度为 10 的突变体,以及使用 3 的其他所有人。但是,当列长度不时,SSIS 会抱怨t 匹配,句号。
我想我有几个选择:
- 在任务上,将“ValidateExternalMetadata”设置为 false。但是,我不确定这是最负责任的选择……还是这样?
- 让我们的实施团队将所有客户的长度更改为 10。这可能是一个问题,但至少这是他们的问题。
- 创建适用于具有不同列长度的解决方案的任务副本。实施可能会在某些时候使用错误的包,每个人都会问我为什么我不只给他们一个无法处理所有场景的包并将这归咎于我。
- 使用其他一些您可能可以填写的方法。
c++ - 初始化有符号值时避免来自 C++ 编译器的截断警告
我想将 a 初始化short
为十六进制值,但我的编译器给了我截断警告。显然,它认为我正在尝试将 设置short
为正值。
你会如何避免这个警告?我可以只使用负值,
但在我的代码中,使用十六进制更容易理解。
sql - PHP 正在截断 MSSQL Blob 数据 (4096b),即使在设置 INI 值之后也是如此。我缺一个吗?
我正在编写一个 PHP 脚本,它遍历一个表并将varbinary(max)
每条记录中的 blob 数据提取到一个外部文件中。代码运行良好(我使用几乎相同的代码浏览一些图像),除非文件超过 4096b - 数据在 4096 处被截断。
我已经修改了、 和的值mssql.textlimit
,但没有成功。mssql.textsize
odbc.defaultlrl
我在这里错过了什么吗?
输出
正在尝试... projectPhotos/docs/file1.pdf 完成 (4096)
正在尝试... projectPhotos/docs/file2.zip 完成 (4096)
正在尝试... projectPhotos/docsv3.pdf 完成 (4096)
ETC..
sql - SQL Server 以静默方式截断存储过程中的 varchar
根据这个论坛讨论,SQL Server(我使用的是 2005,但我认为这也适用于 2000 和 2008)静默地将varchar
您指定为存储过程参数的任何 s 截断为 varchar 的长度,即使直接使用INSERT
实际上会导致错误。例如。如果我创建此表:
然后当我执行以下操作时:
我收到一个错误:
伟大的。保留数据完整性,调用者知道这一点。现在让我们定义一个存储过程来插入它:
并执行它:
没有错误,有 1 行受到影响。一行被插入到表中,testStringField
作为'strin'。SQL Server 以静默方式截断存储过程的varchar
参数。
现在,这种行为有时可能很方便,但我认为没有办法将其关闭。这非常烦人,因为如果我将太长的字符串传递给存储过程,我希望事情出错。似乎有两种方法可以解决这个问题。
首先,将存储过程的@testStringField
参数声明为大小 6,并检查其长度是否超过 5。这看起来有点像 hack,并且涉及大量的样板代码。
其次,只需将所有存储过程的varchar参数声明为varchar(max)
,然后让INSERT
存储过程中的语句失败。
后者似乎工作正常,所以我的问题是:varchar(max)
如果我真的希望存储过程在传递过长的字符串时失败,那么在 SQL Server 存储过程中使用字符串是一个好主意吗?它甚至可能是最佳实践吗?无法禁用的静默截断对我来说似乎很愚蠢。
iphone - 如何更改 UILabel 中的截断字符?
当 a 的文本UILabel
被截断时,默认插入 3 个点。是否可以更改这些字符或禁用它们?
python - HTML Truncating in Python
Is there a pure-Python tool to take some HTML and truncate it as close to a given length as possible, but make sure the resulting snippet is well-formed? For example, given this HTML:
it would not produce:
but:
or at least:
I can't find one that works, though I found one that relies on pullparser
, which is both obsolete and dead.
php - ob_get_clean() 的输出被截断为 1024 个字符?
我正在处理其他人的代码,并且有大约 800 行标记与标签混合在一起。我正在尝试将一些模板应用于这些页面,我想我会首先捕获输出缓冲区中的所有输出,将其作为变量返回,然后逐个整理。
问题是在缓冲区的末尾,当我将输出作为字符串返回时,它会被截断为 1024 个字符。为什么会这样?