sql字符串空格
⑴ 怎么判断sql server中某字段含空格
使用CHARINDEX字符函数可以判断某个字符在字段中的位置:
SELECT
CASE CHARINDEX(' ',STCD)
WHEN 0 THEN 'NO FOUND'
ELSE 'EXISTS'
END
FROM
(
SELECT ' ' STCD
)A
参考:
CHARINDEX
返回字符串中指定表达式的起始位置。
语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )
参数
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
返回类型
int
注释
如果 expression1 或 expression2 之一属于 Unicode 数据类型(nvarchar 或 nchar)而另一个不属于,则将另一个转换为 Unicode 数据类型。
如果 expression1 或 expression2 之一为 NULL 值,则当数据库兼容级别为 70 或更大时,CHARINDEX 返回 NULL 值。当数据库兼容级别为 65 或更小时,CHARINDEX 仅在 expression1 和 expression2 都为 NULL 时返回 NULL 值。
如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。
示例
第一个代码示例返回序列"wonderful"在 titles 表的 notes 列中开始的位置。第二个示例使用可选的 start_location 参数从 notes 列的第五个字符开始寻找"wonderful"。第三个示例显示了当 expression2 内找不到 expression1 时的结果集。
USE pubs
GO
SELECT CHARINDEX('wonderful', notes)
FROM titles
WHERE title_id = 'TC3218'
GO
-- Use the optional start_location parameter to start searching
-- for wonderful starting with the fifth character in the notes
-- column.
USE pubs
GO
SELECT CHARINDEX('wonderful', notes, 5)
FROM titles
WHERE title_id = 'TC3218'
GO
下面是第一个查询和第二个查询的结果集:
-----------
46
(1 row(s) affected)
USE pubs
GO
SELECT CHARINDEX('wondrous', notes)
FROM titles
WHERE title_id='TC3218'
GO
下面是结果集。
-----------
0
(1 row(s) affected)
⑵ SQl中怎么样去掉空格
SQL中如果需要去掉空格的话使用LTRIM或RTRIM。LTRIM去掉表达式左边空格,RTRIM去掉右边。解决方法如下:
1、首先,去掉字符串str开始处(从左侧开始)的空格,可以利用ltrim()函数,l代表left,即为左边。
⑶ MSSQL 如何去掉数据库中字符串里的空格
MSSQL 如何去掉数据库中字符串里的空格?
例如:姓名,表格中习惯两个字的经常中间加入1-2个空格,
在MSSQL数据中用下面的语句,清除姓名中的空格:
UPDATE ERPUser SET truename = REPLACE(truename, ' ', '')
这个语句是替换一个空格为空。如果有的名字有几个空格呢,就多执行几遍,直到都替换完成。
去掉空格还有许多其他的语句,广泛学习,利用好,就会产生事半功倍的效果。
例如:
SQL 中使用 ltrim()去除左边空格 ,rtrim()去除右边空格 ,没有同时去除左右空格的函数,要去除所有空格可以用replace(字符串,' ',''),将字符串里的空格替换为空 。 例:去除空格函数。
declare @temp char(50)
set @temp = ' hello sql '
print ltrim(@temp) --去除左边空格
print rtrim(@temp) --去除右边空格
print replace(@temp,' ','') --去除字符串里所有空格
print @temp
>> 输出结果
hello sql
hello sql
hellosql
hello sql
其他数据库也有各自的语句:Oracle中TRIM(character_expression)等。
其他语句手机号码的问题,和空格无关:
如何decimal 或float型转化为varchar型:需要用到转换
UPDATE ERPUser SET Serils = CONVERT(varchar(20), CONVERT(decimal(18, 0), mob))
如果不转换,结果是科学计数法了。