问题描述:在MSSQL下,想去掉字符串里的最后一个逗号?例如:'aa,bb,cc,' 变为==>'aa,bb,cc'
解决:
declare @str varchar(20)
select @str='aa,bb,cc,'
select @str = substring(@str,0,len(@str))
print @str
吾阅:求字符串的长度,在MsSql下,郁闷了好久,其实用len函数,非length函数;
转自:http://www.huomo.cn/database/article-5f4.html
第一行表示MSSQL的用法,第二行表示ORACLE里的用法
1.时间转换成字符:
convert(char(n),date,format(eg:120,114,12))
to_char(date,format(eg:'yyyy-mm-dd'))
2.取部分字符
substring('happy',1,3)=hap
substr('happy',1,3) =hap
3.返回字符所在位置
charindex('p','happy',1)=3 chaindex('ha','happy',1)=1
InStr('happy','p')=3
4.计算字符串的长度
len('开心')=2,datalength('开心')=4
length('happy')=5
5.字符串连接函数
'happy'+'day'=happyday
concate('happy','day')='happyday'
6.将数字转换成字符
cast(1 as varchar(2))
to_char(number,'fmt') fmt:9(数字),0(强制将前面的0也显示出来),$(显示美元符号)L(显示区域钱币代号).(显示10进制位置),(显示千分位的位置)PR(<>代表负数)
7.字符串替代函数
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )replace('happy','p','v')=havvp,replace('happy','hp','v')=happy
REPLACE('happy','p','v')=havvp,replace('happy','hp','v')=happy
8.字符级别替代函数
MSSQL里未找到,直接用replace
oracle里 translate TRANSLATE ( expr , from_string , to_string )
select TRANSLATE('happy','hp','jk') = jakky (第一个字符h用j替代,第二个字符p用k替代。
select TRANSLATE('happy','hpa','jk') = jkky(若from里的字符个数大于to里的字符则a用空值替换)
select TRANSLATE('happy','php','jkz') = kajjy(若from里的字符多次出现,以第一次出现的为准)
用此可以实现的一个有用的功能是统计一个字符串中某个字符出现的次数: select length(translate('happy','p'||'happy','p')) from dual =2
9. 返回字符 ASCII 代码值
select ASCII('abc') =97 (a的ascii值) 返回字符表达式中最左侧的字符的 ASCII 代码值
select ASCII('abc') from dual =97
10.字符大小写转换
select upper('abc') =ABC select LOWER('AbC')='abc'
select upper('abc') from dual =ABC select LOWER('AbC') from dual ='abc'
11.去掉空格函数
用法一样 ltrim(去掉字符串左边的空格) rtrim(去掉字符串右边的空格) 中间的空格可以用replace去掉。或者直接全部空格都用replace去掉
12.返回字符表达式的逆向表达式
用法一样 reverse select reverse('abc') =cba
分享到:
相关推荐
- `VARCHAR2`和`LONG`: 可变长度的字符串或大文本数据类型,可以根据数据的实际长度选择SQL Server中的`varchar`或`text`。 #### 4. 日期和时间类型 - **SQL Server 2000**: - `datetime`: 存储日期和时间信息,...
Oracle 和 MSSQL 在比较数值时使用类似的语法,如 `>`、`、`>=`、`、`=` 和 `<>`。然而,Oracle 提供了 `NVL()` 函数来处理 NULL 值,当一个值为 NULL 时,可以将其替换为指定的默认值,而 MSSQL 使用 `ISNULL()` ...
Oracle 中空字符串同 null,不同于 MSSQL 中真正在将空串视为一个有意义的标识,即不是一个空值。Sybase 中同样不存在长度为 0 的字符串,但是与 Oracle 不同的是,Sybase 并不将空串视作 NULL,而是视作与只包含一...
为了解决这个问题,我们可以创建一个字符串分割函数,通过直接查询就能将分割后的结果转换成多行数据。 1. 创建字符串分割函数 首先,我们需要创建一个字符串分割函数,名为 `StringSplit`。这个函数将接受两个...
mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,...
DBUtility 是一个数据库访问工具,它提供了对多种数据库系统的通用支持,包括 Microsoft SQL Server、Microsoft Access 和 Oracle。这个工具的核心目标是简化数据访问代码,使得开发者可以更方便地执行常见的数据库...
- 使用MSSQL Server Management Studio (SSMS)创建一个新的数据源,指定数据源的名称、提供者(Provider)为`Microsoft OLE DB Provider for Oracle`,并设置连接字符串,包括Oracle服务器地址、用户名、密码等信息...
使用mapxtreme7 开发时,使用Feature.Update()方法时出错的提示包含“MSSQL 将截断字符串或二进制数据” 主要原因就是给某个字段赋值时,内容大于字段的长度或类型不符造成的 解决方法: 一个是修改数据库字段大小;...
应使用参数化查询或预编译语句,避免直接拼接字符串构建SQL命令。同时,限制数据库用户的权限,避免不必要的系统访问,并保持系统和数据库软件的更新,以修复已知的安全漏洞。 综上所述,这个压缩包包含的源代码...
3. `CONVERT()`: 将日期时间值转换为字符串,或者将字符串转换为日期时间值,支持多种日期格式。 4. `GETDATE()`: 返回当前系统日期和时间。 5. `YEAR()`, `MONTH()`, `DAY()`: 提取日期时间值的年、月、日部分。 6....
在Oracle数据库中,字符串连接是将多个字符串合并成一个单一字符串的过程。这在数据库查询、数据处理和报告生成等场景中非常常见。Oracle提供了两种主要的字符串连接方法:使用双竖线“||”操作符和使用CONCAT()函数...
1. **`ConnectionString`**:用于存储数据库连接字符串,该属性可以被读取和设置,允许外部根据实际情况配置数据库连接信息。 2. **`DbType`**:表示当前使用的数据库类型(Access、SQLServer、Oracle)。此属性同样...
- **字符串与数字**:讨论了如何利用字符串和数字进行SQL注入,包括如何构造有效的注入语句。 - **测试版本**:了解目标数据库的版本对于选择适当的注入技术至关重要。 - **数据库凭证**:通过SQL注入获取数据库用户...
**5.2 字符串函数** - 包括计算字符串长度、转换大小写、截取字符串等功能。 以上内容概括了《程序员的SQL金典》这本书中涉及的基础和高级SQL知识点,包括数据库的基本概念、数据表的创建与管理、数据的增删改查...
4. **数据类型**:Oracle9i SQL支持多种数据类型,包括数值型(如NUMBER)、字符串型(如VARCHAR2)、日期时间型(如DATE)、二进制数据(如BLOB)等,每种数据类型都有其特定的用途和限制。 5. **主键**:主键是表...
而pyodbc则是一个更通用的数据库连接库,除了SQL Server,还可以用于Oracle、MySQL、Access和Excel等。 **连接数据库** 建立Python与MSSQL的连接主要通过`pymssql.connect()`函数完成,需要提供以下参数: 1. `...
**5.2 字符串函数** - **5.2.1 计算字符串长度**:使用LENGTH()函数计算字符串的长度。 - **5.2.2 字符串转换为小写**:使用LOWER()函数将字符串转换为小写。 - **5.2.3 字符串转换为大写**:使用UPPER()函数将字符...