Jam*_*han 2 sql sql-server trim
我的数据看起来像
ID LPNumber
1 30;#TEST123
2 302;#TEST1232
Run Code Online (Sandbox Code Playgroud)
如何更新MyText以删除#之前的所有内容并包含#,所以我留下以下内容:
ID LPNumber
1 TEST123
2 TEST1232
Run Code Online (Sandbox Code Playgroud)
我看过SQL Server Replace,但想不出一种检查";"的可行方法.
在MSDN REPLACE页面上,左侧的菜单提供了可用字符串函数的完整列表.
UPDATE
MyTable
SET
LPNumber = SUBSTRING(LPNumber, CHARINDEX('#', LPNumber)+1, 8000);
Run Code Online (Sandbox Code Playgroud)
我会让你解决(从MSDN)所需的过滤器,如果#列中没有...
编辑:
为什么8000?
最长的非LOB字符串长度是8000,因此它是"直到字符串结尾"的简写.对于最大列,您也可以使用2147483647或使其保持一致.
此外,LEN可以帮助你.
SET ANSI_PADDING 默认为ONLEN 忽略尾随空格您需要使用DATALENGTH但是您需要知道数据类型,因为这会计算字节数,而不是字符数.例如,请参阅/sf/answers/179049041/
所以使用一个神奇的数字可能是一个较小的邪恶......
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |