求用sql删除字符串中的指定内容,有村的把乡镇和村名提出来,没村的数据内容不变。 数据如下图

作者&投稿:张帘 (若有异议请与网页底部的电邮联系)
我想删除sql 2003数据里的部分字符~

select replace (n_bt,'你要代换文字','') from news
即用''(空格),把你指定的文字串,替换掉.

假设表有4个字段为FIELD1-FIELD4
只有有一个字段为空就删除
DELETE BIAO WHERE
FIELD1 IS NULL OR
FIELD2 IS NULL OR
FIELD3 IS NULL OR
FIELD4 IS NULL
所有字段为空才删除:
DELETE BIAO WHERE
FIELD1 IS NULL and
FIELD2 IS NULL and
FIELD3 IS NULL and
FIELD4 IS NULL
第二个问题,看不出您的日期字段格式是什么格式,也没看清您想要什么样的结果,相距的时间是什么?是天,还是月,还是年?
假设您的日期字段是DATETIME类型,我列举了您需求的多种情况:
--如果是要几年或几天或几个月,下面三行分别得到总年数或总月数或总天数(如果是一年就会得到365或366)
select datediff(year,注册时间,getdate())--总年数(整数)
select datediff(month,注册时间,getdate())--总月数(整数)
select datediff(day,注册时间,getdate())--总天数(整数)
--如果是要得到几年和几个月和几天的组合结果(与上面的总数结果不同,这里日不会过31,月不会过12,年月日结果是进位关系),按下面的方法得到.
select cast(datename(year,getdate()-注册时间)-1900 as varchar)+'年'
+cast(datename(month,getdate()-注册时间)-1 as varchar)+'个月'
+cast(datename(day,getdate()-注册时间)-1 as varchar)+'日'

注意:上面两例中,注册时间是您的字段名,GETDATE()是求出的当前日期和时间,如果是别的什么时间字段,如最后登录时间,直接用登录时间替换GETDATE()就行了.
=====================
sql server中的空值就是这样的(NULL),您说的,应该即不是空值,也不是零长度的字符串,也不是数值零.
所以,当不是空值时,您必须要告诉我们字段是什么类型的.
如果您的字段是VARCHAR,NVARCHAR或CHAR类型的,
那么可能就有三种情况,
1.是空格.
2.是零长度字串.
3.是不可显示的乱字符.
但无论哪一种情况情况,只要是字符型的,用您的语句都不会报错,就是这一句:
delete biao where field1=''
除非字段或表名有错误.

建议:
如果是字符型字段(VARCHAR,NVARCHAR或CHAR类型等)
delete biao where RTRIM(field1)=''
如果是数值型字段(INT,FLOAT,DECIMAL等类型,甚至日期型)都可以用下面的语句删除0值.
delete biao where RTRIM(field1)=0

就是说:
如果不是空值(NULL),就必须要知道字段是什么类型才能确定语法格式.


====================
==============================
最后提醒您,我费了好长时间回答您的问题,为了使用我们下次还有这么大的积极性,最少要加到200分才行啊!

UPDATE

SET
地址 = RIGHT(地址 , LEN(地址 ) - CHARINDEX ('市', 地址 ))
WHERE
CHARINDEX ('市', 地址 ) > 0


sql 删除指定字符串
1、创建数据库表 2、插入测试数据,并提交 3、编写sql语句,即可实现去掉中括号里面的内容,语句如下:select val,substr(val, 1, instr(val, '[') - 1) || substr(val, instr(val, ']') + 1) val2 from TEST_STR t 4、如果确定中括号在第一位的话,sql可以更为简化,语句如下:selec...

请教SQL删除特定字符
sql语句为:UPDATE `table_name` SET `field_name` = replace (`field_name`,’from_str’,'to_str’)代码说明:table_name —— 表的名字,field_name —— 字段名,from_str —— 需要替换的字符串,to_str —— 替换成的字符串。目的是为了直接用sql操作数据库修改字段中的某些字串。也可...

sql 删除某一字符之前的数据怎么删
删除字符串abcdefg字符c之前的数据,如下:SQL> select substr('abcdefg',instr('abcdefg','c'),100) from dual;返回:SUBST --- cdefg sqlserver\/sybase:select substring('abcdefg',charindex('c','abcdefg'),100)go 返回:- cdefg

sql如何批量删除字符串中的前两个字符?
使用 SubString字符串截取函数\\x0d\\x0aSubString(string, int, int)\\x0d\\x0a返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。\\x0d\\x0a然后用update set即可达到删除字符串的前两个字符的效果\\x0d\\x0asql \\x0d\\x0a update table set name= substring(n...

要删除MySQL一列数据中的某个文字如何删除?
可以使用UPDATE语句中的REPLACE函数来删除MySQL一列数据中的某个文字。假设需要删除表mytable中column1列中的文字text_to_remove,可以使用以下语句:UPDATE mytable SET column1 = REPLACE(column1, 'text_to_remove', '')WHERE column1 LIKE '%text_to_remove%';这个语句会将column1列中所有包含...

SQL中如何删除某个字段内容的第一个字符
(1)character_expression:一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。(2)start:一个整数值,指定删除和插入的开始位置。如果 start 或 length 为负,则返回空字符串。如果 start 比第一个 character_expression长,则返回空字符串。start 可以是 big...

用SQL怎么把一列所有字符串中包含的空格都删除呢
用REPLACE函数,把空格替换成 ''。例:去除 表table 中 col 列的空字符 去除空格符:update table set col = REPLACE(col,' ','')还有tab制表符(即char(9)),显示效果类似空格。去除制表符:update table set col = REPLACE(col,CHAR(9),'')...

如何写sql 语句,能删除字段中某个字符到最后字符串的?
--- 删除指定字符到指定的其他字符,要用stuff函数 stuff(col,charindex('字符',col),charindex('其他字符',col)-charindex('字符',col)+1,'')不知道你包含不包含这两个字符,上面的语句是同时去除两个字符的,若不去除 stuff(col,charindex('字符',col)+,charindex('其他字符',col)-charindex(...

SQL中删掉某列中前二个字符?
不同的数据库使用的函数不相同。如果是db2数据库,使用函数substr(字段名,起始位置,起始后面需要截取的字符串的长度)完成你需要的功能。其他的数据库方法类似。

SQL删除指定字符串之间的字符
update 表名 set 字段名=(select '中国' from 表名 where 字段名 like '%中国%')+(select '美国' from 表名 where 字段名 like '%美国%') where 字段名 like '%美国%' or 字段名 like '%美国%'你试试,可能语法不一定合适你的,我的这是for oracle的 ...

潮安县15329194997: sql 语句怎样删除字符串中的某个字符,比如有一个列,他的值是**123,我怎么删除前面的**,而且是要整列删 -
佼度启文: update table tset t.列名 = substr(t.列名, instr(t.列名, '123'), length(t.列名)) aa

潮安县15329194997: 如何用SQL语句去除字段中的某个字符? -
佼度启文: 1.这个很好解决,就是工具自己的数据字符串的最长可能出现的长度来选择对应该列的数据类型, 2.其中varchar,char类型可以存放8000个字符,而text类型则能存储2G个字符,相信应该够用了, 3.使用sql语句向字段中存储字符串的语句如下: update 表名 set 字段名=你要存储的字符串 呵呵,希望能有帮助,^_^

潮安县15329194997: SQL 里面怎么删除字段里特定字符 -
佼度启文: replace函数 update table set col=replace(col,'##','') where .....

潮安县15329194997: 在SQL中如何将某一字段中的特定字符删除 -
佼度启文: replace函数 replace('aaaabbaa','bb','')=aaaaaa

潮安县15329194997: sql 删除字符串 -
佼度启文: 假设该字段为student_Name 表为Student DELETE FROM STUDENT WHERE LEN(STUDENT_NAME)

潮安县15329194997: 怎么写sql 语句,能删除某个字段中的某些内容? -
佼度启文: 达到这样的目的不是用删除,而是用更新的.

潮安县15329194997: SQL删除指定字符串之间的字符 -
佼度启文: update 表名 set 字段名=(select '中国' from 表名 where 字段名 like '%中国%')+(select '美国' from 表名 where 字段名 like '%美国%') where 字段名 like '%美国%' or 字段名 like '%美国%'你试试,可能语法不一定合适你的,我的这是for oracle的

潮安县15329194997: SQL语句怎么删除指定日期的数据 -
佼度启文: 删除指定日期后的记录 sql语句: 以删除2004年8月4日到2006年10月25日的数据为例: delete from tb where columnname between '2004/8/5' and '2006/10/25' 如果记录日期的字段为字符串类型的 delete from t1 where t1.datecol='2012-11-06' 如果记录日期的字段为日期类型的 delete from t1 where to_char(t1.datecol,'yyyy-mm-dd')='2012-11-06' 如果记录日期的长度比较长,那就截取字符串,使用substr函数.

潮安县15329194997: 请问用SQL查询数据,怎样在结果显示时把字符串从右侧删掉指定位数的字符?
佼度启文: select substr(name, -4) from tab.

潮安县15329194997: sql语句删除某属性中包含某子字符串的所有项 -
佼度启文: 这个问题超级简单!DELETE FROM 表名称 WHERE 列名称 = 值 比如你的 A表中B字段有多条个含有“悬疑”的数据,那么sql语句就应该这样写:delete from a where b="悬疑"; 这样就能指删除含有“悬疑”的数据了,如果你还需要删除别的,你把“悬疑”改成其内容就好 !希望采纳!~~

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网