比如某一列的列名称是:“数量”,其内的数据都是“11.2斤”的样式,请问怎么得带11.2而不要斤呢??
解决方案 »
- 求救:sqlserver里如何实现多行记录合并
- 请教各位大大,怎样修改这个存储过程?
- 数据库更新
- 小弟的问题是:本地数据库导入其他机器数据库时主键丢失并且编号也不会自动递增了,?谢谢了
- 疑问:sql server近期几乎每天固定时间(下午4点钟左右)卡住(即好象Enterprise都打不开),重新启动SQl server又恢复正常
- 如何用OPENDATASOURCE連遠端foxpro服務器上的數據庫
- 请问用全角字符存入数据库的数据,取出来还是全角的吗
- SQL日志过大,如何打开查看?
- 怎么用一条语句读第一张表的某一条记录插到第二张表里...
- 各位高手:请问在oci中是否提供函数用以判断一个数据库的连接是否还用效?
- 使用jdbc连接 SQLServer 2005 Express的问题.
- 求时间查
LEFT(数量,PATINDEX('%[^0-9.]%',数量)-1) AS 数量
FROM tb
insert @t select 1 , '11.2斤'
insert @t select 2 , '12.22千克' select col1,left(col2,patindex('%[吖-做]%',col2)-1) col2 from @tcol1 col2
---------- --------------------
1 11.2
2 12.22(2 行受影响)
insert @t select 1 , '11.2斤'
insert @t select 2 , '12.22千克' select col1,left(col2,patindex('%[^0-9.]%',col2)-1) col2 from @tcol1 col2
---------- --------------------
1 11.2
2 12.22(2 行受影响)比较支持小梁这种方法
declare @t varchar(20)
set @t='11.2斤'
select left(@t,patindex('%[^0-9.]%',@t)-1) as 数量--写成函数
create function [dbo].[getnumberfromchar]
(
@mysql_one nvarchar(200)
)
returns varchar(200)
begin
declare @mysql_two varchar(200)
select @mysql_two=
substring(@mysql_one,patindex('%[0-9.]%',@mysql_one),patindex('%[^0-9.]%',substring(@mysql_one,patindex('%[0-9.]%',@mysql_one),
len(@mysql_one)-patindex('%[0-9.]%',@mysql_one)+1))-1)
return @mysql_two;
end--测试函数
select dbo.[getnumberfromchar]('11.2千克')
select dbo.[getnumberfromchar]('11.2斤')