sql数字转字符
1. 在sql中如何实现电话号码中间的4位数字转换成特殊字符
不同的数据库做法不同
replace就是替换,虽然是字符的替换,不过你的特殊字符应该不是数字吧,所以你的号码应该存成字符型,不然假设你的替换字符是xxxx,可是这个可是没办法插入数字格式的。
你说的中间四位怎么定义,是类似xxx xxxx xxxx种种,还是XX YYYY xx这种,如果是前面那种那就用定位比如substr,不知道你是什么数据库,只能用oracle的方式写,可以根据自己数据库自行查找相应函数
比如,replace(字符串,substr(字符串,4,4),'XXXX')
这样的话,假设源字符串为001 1101 1100,那么就会变为001 xxxx 1100
当然,这个语句本身是有问题的,如果刚巧你的号码比较特殊,比如001 0101 0101,那么可能就变成了0XXXX XXXX 01,或者001 1001 1001 那么就是001 XXXX XXXX
那么怎么只更换中间四位,其他位置有特殊的也不动呢?
有两个办法
(1)分开显示人然后合并,比如 selelct substr(字符串,1,3)||‘XXXX’|| substr(字符串,-1,4) (本写法是oracle的,其他数据库的连接符号各有不同,情自行查找)
(2)replace全部替换,其实合作前面的差不多,比如replace(字符串,substr(字符串,1), substr(字符串,1,3)||‘XXXX’|| substr(字符串,-1,4))
2. sql server中的怎么把数值型转换为字符串
有两种。
1.转换(int,字段名)
例如:选择convert(int,'3')
选择cast('3'作为int)
一般来说,没有必要将字符串转换为数字类型,如果你需要比较两个字段是相等的,但为字符串类型字段,类型,用“=”来比较这两个值是相等的,SQLSERVER将自动将字符串转换为一个数字,然后比较。
(2)sql数字转字符扩展阅读:
注意事项:
这两个函数都执行强制转换,但是语法不同。据说有一些不同的转换,但我更习惯于使用转换函数,它更像一个函数的语法一方面,可以指定的格式转换,将时间和价值转换为一个字符串。
对于数据类型的确切值,转换后的字符串是我们存储的值。如:
声明@iintset@i=123456789print'test:'+转换(varchar(20),@i)
输出是:test:123456789
对于具有近似值的数据类型,情况就不那么简单了。
声明@ifloatset@i=123456789print'test:'+转换(varchar(20),@i):test:1.23457e+008
3. sql server 数字转为字符 int型的数字'5',转为两位的字符型'05',谢谢
select REPLICATE('0',2-len(cast(5 as varchar(2))))+cast(5 as varchar(2))
4. 有没有函数在SQL查询时将DB2数据库中一个数字型的字段转换为字符串类型
可以用convert或cast。
select cast(123 as varchar)
select convert(varchar,123)
5. SQL 中怎么把字符串转换为数字
可以使用函数:ISNUMERIC
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。
将字符的数字转成数字,比如'0'转成0可以直接用加法来实现;
若绝对比较可以这样:
select binary 11 =binary "11ddddd";
字符集转换:CONVERT(xxx USING gb2312);
类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型),CONVERT(xxx,类型);
类型必须用下列的类型:BINARY、CHAR()、DATE、TIME、DATETIME、DECIMAL、SIGNED、UNSIGNED。
数据类型:
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
以上内容参考:网络-字符串
6. sql如何把number转化成string
可以通过调用number值的4个函数来将其转换成string:
1.toString()。
2.toFixed()。
3.toExponential()。
4.toPrecision()。
比如:
var a = 42;
console.log(a.toString(2));//101010
console.log(a.toString());//42
console.log("0x" + a.toString(16));//0x2a
var b = 0xff;
console.log(b.toString());//255
7. sql 怎么将数值型转换成字符
方法1
select cast ( 123 as nvarchar(10) );
方法2
select convert( nvarchar(10), 123 );
8. mysql中int型的数字怎么转换成字符串
MySQL 数字类型转换函数(concat/cast)。
1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′。
2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串。
总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)。
(8)sql数字转字符扩展阅读:
可用的类型:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
cast函数运行示例
9. 在sql server2000中,如何把整型字段转换成字符串型字段
使用函数STR()
STR
由数字数据转换来的字符数据。
语法
STR ( float_expression [ , length [ , decimal ] ] )
参数
float_expression
是带小数点的近似数字 (float) 数据类型的表达式。不要在 STR 函数中将函数或子查询用作 float_expression。
length
是总长度,包括小数点、符号、数字或空格。默认值为 10。
decimal
是小数点右边的位数。
返回类型
char
注释
如果为 STR 提供 length 和 decimal 参数值,则这些值应该是正数。在默认情况下或者小数参数为 0 时,数字四舍五入为整数。指定长度应该大于或等于小数点前面的数字加上数字符号(若有)的长度。短的 float_expression 在指定长度内右对齐,长的 float_expression 则截断为指定的小数位数。例如,STR(12,10) 输出的结果是 12,在结果集内右对齐。而 STR(1223, 2) 则将结果集截断为 **。可以嵌套字符串函数。
说明 若要转换为 Unicode 数据,请在 CONVERT 或 CAST 转换函数内使用 STR。
示例
A. 使用 STR
下例将包含五个数字和一个小数点的表达式转换为有六个位置的字符串。数字的小数部分四舍五入为一个小数位。
SELECT STR(123.45, 6, 1)
GO
下面是结果集:
------
123.5
(1 row(s) affected)
当表达式超出指定长度时,字符串为指定长度返回 **。
SELECT STR(123.45, 2, 2)
GO
下面是结果集:
--
**
(1 row(s) affected)
即使数字数据嵌套在 STR内,结果集也是带指定格式的字符数据。
SELECT STR (FLOOR (123.45), 8, 3)
GO
下面是结果集:
--------
123.000
(1 row(s) affected)
10. sql语句怎样把查询出来的数字转换陈字符
很简单啊。
string Sqlstr = "0120";//假设这个是从数据库取出的值
string[] arrs = new string[] { "零", "壹", "贰" ,"叁",'肆"};//这里是从1到9的大写。。。你可以一直写下去
char[] chars = Sqlstr.ToCharArray();//把从数据库获取的数字转换成char类型
StringBuilder sb = new StringBuilder();
for (int index = 0; index < chars.Length; index++)
{
string newValue = arrs[int.Parse(chars[index].ToString())];//这一句是核心,我们每获取一个数字,因为我们0是对应零的,1是对应壹的,2是对应贰的。。。所以,我就可以在arrs这个数据获取到相应的值。就OK了
sb.Append(newValue);//没获取一个就放进sb里面,最后输出来了。
}