sql菜鸟求指教

l574954270 2017-12-20 08:33:44
表table中包含字段bid,varchar类型,长度100
bid
12345.000
11111.000
如何将数值12345.00和11111.000修改为12345和11111

...全文
352 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
只能在 抓取使用的时候,转换精度了 ,毕竟不能改字段类型。
xzxmustwin 2017-12-21
  • 打赏
  • 举报
回复
楼上说的都对用CAST 或者INDEXCHAR 但是我都是习惯在sql语句之外就转换的。 C# java 都加个精度就行要方便一点吧。
听雨停了 2017-12-21
  • 打赏
  • 举报
回复

SELECT  CAST('123.000' AS NUMERIC(16,0))

---------------------------------------
123

(1 行受影响)
xiaoxiangqing 2017-12-21
  • 打赏
  • 举报
回复
楼上的方法真不错
吉普赛的歌 2017-12-21
  • 打赏
  • 举报
回复
DECLARE @t TABLE (
	bid VARCHAR(100)
)
INSERT INTO @t VALUES ('12345.000')
INSERT INTO @t VALUES ('11111.000')

SELECT PARSENAME(bid,2) AS bid FROM @t
/*
bid
12345
11111
*/
早起晚睡 2017-12-21
  • 打赏
  • 举报
回复
引用 2 楼 sinat_28984567 的回复:
如果是不要小数点后边的数据试试这样:
Select SUBSTRING(bid,0,CHARINDEX('.',bid)) from 表
这个方法好
二月十六 2017-12-20
  • 打赏
  • 举报
回复
如果是不要小数点后边的数据试试这样:
Select SUBSTRING(bid,0,CHARINDEX('.',bid)) from 表
l574954270 2017-12-20
  • 打赏
  • 举报
回复
前提是不修改字段的类型

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧