sql-server - 如何将varchar的子字符串转换为小数点前的数字并将varchar的子字符串转换为小数点后的数字?
问题描述
我有一个varchar(10)
.
如何将其转换为 a numeric(10,4)
(其中 varchar 的最后 4 个字符是小数点后的 4 个数字,varchar 的前 6 个字符是小数点前的 6 个数字)?
解决方案
您可以使用STUFF函数插入小数分隔符并将结果字符串转换为十进制:
declare @s varchar(10) = '1234561234'
select cast(stuff(@s, 7, 0, '.') as decimal(10,4))
推荐阅读
- analytics - 分析某个特定视频?
- django - 带有 Django 的 Amazon S3 + Cloudfront - 提供静态文件时出现访问错误(400 - 不支持错误请求授权机制)
- kotlin - Kotlin 中只有 getter 的私有属性和私有函数之间有什么区别吗?
- javascript - 拖放 - 每次拖动后重影图像大小都会增加
- bash - 如何删除文本文件中长度大于 1GB 的所有行?
- amazon-dynamodb - 层次结构的 DynamoDB 架构
- javascript - 为什么我的数组反向工作没有按照我认为的方式工作?
- html - 与图像重叠的文本 - Bootstrap
- python - 在 python-watchdog 文件夹监视器的 on_created 函数中运行任务时,执行时间加倍
- python - 从另一个文本文件读取后如何将一些字段数据插入数据源文件