SQL Server中varchar字段存在汉字和数字,取数字部分 
时间: 2023-05-22 11:03:14 浏览: 30
可以使用SQL Server的内置函数SUBSTRING和PATINDEX来实现。具体的语句可以如下:
SELECT SUBSTRING(column_name, PATINDEX('%[0-9]%', column_name), LEN(column_name))
FROM table_name
WHERE column_name LIKE '%[0-9]%';
其中,column_name是你要查询的字段名,table_name是你要查询的表名。
这个语句的作用是先用PATINDEX函数查找第一个数字出现的位置,再用SUBSTRING函数截取该位置后的子串。同样的,如果该字段中有多个数字,可以用循环来实现截取多个数字的操作。
相关问题
sql中varchar字段存在汉字和数字,取数字部分
可以使用正则表达式来提取 varchar 字段中的数字部分,例如:
SELECT REGEXP_REPLACE(column_name, "[^0-9]", "") FROM table_name;
这条 SQL 语句可以用于将 varchar 字段中所有非数字字符替换为空字符串,从而得到数字部分。其中,column_name 是需要取数字部分的 varchar 字段名,table_name 是该字段所在的表名。
sqlserver中varchar和nvarchar
varchar和nvarchar都是SQL Server中的数据类型,用于存储字符串数据。
varchar是一种可变长度的字符数据类型,它可以存储最大长度为800个字符的数据。它的存储方式是将字符数据存储在定长的数据页中,如果存储的数据长度小于定长,则会浪费一些空间。
nvarchar也是一种可变长度的字符数据类型,但它可以存储Unicode字符,即支持多种语言的字符集。它的最大长度也是800个字符,但由于Unicode字符占用的空间较大,所以实际存储的数据长度会比varchar少。与varchar不同的是,nvarchar的存储方式是将字符数据存储在变长的数据页中,可以更好地利用存储空间。
总的来说,如果需要存储多种语言的字符集,应该使用nvarchar;如果只需要存储英文字符集,可以使用varchar。
相关推荐
















