关于在SQL中SUBSTRING的用法的问题,求大佬们帮忙分析分析!

1/ 最好是把用法都用例子列列.
2/ SUBSTRING('1234567890QWER',7,8) 请问这个的结果是什么?
它和substr有什么区别吗

喵喵时光机
浏览 274回答 3
3回答

牧羊人nacy

1、SUBSTRING返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效 Microsoft® SQL Server™ 数据类型的更多信息,请参见数据类型。语法SUBSTRING ( expression , start , length )参数expression是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。start是一个整数,指定子串的开始位置。length是一个整数,指定子串的长度(要返回的字符数或字节数)。说明 由于在 text 数据上使用 SUBSTRING 时 start 和 length 指定字节数,因此 DBCS 数据(如日本汉字)可能导致在结果的开始或结束位置拆分字符。此行为与 READTEXT 处理 DBCS 的方式一致。然而,由于偶而会出现奇怪的结果,建议对 DBCS 字符使用 ntext 而非 text。返回类型如果 expression 是支持的字符数据类型,则返回字符数据。如果 expression 是支持的 binary 数据类型,则返回二进制数据。返回字符串的类型与给定表达式的类型相同(表中显示的除外)。给定的表达式 返回类型text varcharimage varbinaryntext nvarchar2、7890QWER

侃侃尔雅

SUBSTRING('1234567890QWER',7,8)你的写法就错了。SUBSTRING('列名',7(截断起始位),8(显示长度))返还的结果是890QWER---这里你给的''我没记位数。

收到一只叮咚

问题1:7890QWER这是结果。问题2:我用的sql server2000,没见过substr,估计是缩写,应该没有区别
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Python