SQL Server数据库用下划线,小数点都不好使 只能用计算机名登陆 为啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server数据库用下划线,小数点都不好使 只能用计算机名登陆 为啥?相关的知识,希望对你有一定的参考价值。
学校机房的SQL Server可以用小数点的,但是我的电脑上不能用
.在数据库连接时,代表本域,如果不能用,应该是你SQL Server的问题记得, . 只是代表本域,也就是相当于localhost,用于连接时填在连接的主机那一栏,并不是用户名 参考技术A 数据库命名不支持小数点,等特殊符号的 参考技术B 看你的oracle里面的tnsnames.ora文档配置的数据库名称和地址是什么,下划线应该没问题啊,小数点倒是没用过
sql server数据库实现保留指定位数小数的函数
有时候需要对一个特定的含有小数点的数字保留指定位数,比如“123.123600”。
在数据库中以函数的形式实现如下:
USE [数据库名称] GO /****** Object: UserDefinedFunction [dbo].[AvgLimit] Script Date: 2016/12/29 11:30:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create function [dbo].[AvgLimit](@strength numeric(20,6),@numlimit int) Returns varchar(30) As Begin Declare @avg numeric(20,6) Declare @avgStr varchar(30) Set @avg= round(@strength,@numlimit) Set @avgStr= convert(varchar(30),@avg) if @numlimit=0 set @avgStr = substring(@avgStr,0,len(@avgStr)-6) if @numlimit>0 set @avgStr = substring(@avgStr,0,len(@avgStr)-5+@numlimit) --substring(@avgStr,0,len(@avgStr)[email protected]) Return @avgStr End
举例说明:
--保留0位小数,结果:123 select [dbo].[AvgLimit](123.123600,0) --保留1位小数,结果:123.1 select [dbo].[AvgLimit](123.123600,1) --保留2位小数,结果:123.12 select [dbo].[AvgLimit](123.123600,2) --保留3位小数,结果:123.124 select [dbo].[AvgLimit](123.123600,3) --保留4位小数,结果:123.1236 select [dbo].[AvgLimit](123.123600,4) --保留5位小数,结果:123.12360 select [dbo].[AvgLimit](123.123600,5)
注意:最多只能保留6位小数,因为创建函数的时候传递的参数@strength numeric(20,6),只保留6位小数
以上是关于SQL Server数据库用下划线,小数点都不好使 只能用计算机名登陆 为啥?的主要内容,如果未能解决你的问题,请参考以下文章
sql server 中数据类型numeric我用小数点后两位,可是小数点前没有0