我有一个包含希腊格式数字的 varchar 列的 SQL 表(。作为千位分隔符,逗号作为小数点分隔符)
经典的转换
CONVERT(numeric(10,2),REPLACE([value],',','.'))
Run Code Online (Sandbox Code Playgroud)
不起作用,因为 . (千位分隔符)杀死转换
例如尝试
CONVERT(numeric(10,2),REPLACE('7.000,45',',','.'))
Run Code Online (Sandbox Code Playgroud)
我想将这些值转换为数字(10,2)
有关如何处理的任何建议?
我过去遇到过一些数据库损坏,但我知道哪个对象已经上路了。在这种情况下,我针对有问题的 SQL Server 2005 数据库运行 DBCC CHECKDB 并收到以下错误
Msg 8909, Level 16, State 1, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page ID (1:2388) contains an incorrect page ID in its page header. The PageId in the page header = (0:0).
Msg 8909, Level 16, State 1, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page ID …Run Code Online (Sandbox Code Playgroud) 有些东西告诉我这不正常。
让我从头开始。在 SQL Server Express 2005 中,我需要加密一列。我做了以下事情。
CREATE MASTER KEY ENCRYPTION
BY PASSWORD ='blahblah';
CREATE CERTIFICATE my_certificate
ENCRYPTION BY PASSWORD = 'blahblah'
WITH SUBJECT = 'Password',
EXPIRY_DATE = '12/31/2099';
CREATE SYMMETRIC KEY my_symmetric_key
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE my_certificate;
Run Code Online (Sandbox Code Playgroud)
我创建了加密、解密列的程序,一切正常。
然后我将数据库(SQL Server 2005,混合模式)恢复到一台装有 SQL Server 2008 Express 的新 PC 上。
在没有恢复密钥和证书的情况下,我启动了我的应用程序,它使用存储过程来加密/解密,令人惊讶的是,一切都在新数据库中工作!!我可以成功解密以前加密的数据。
这正常吗??
那么备份密钥和证书有什么用呢?
提前谢谢
有没有办法检查我连接的SQL Server是否是Express版本?
如何查看 SQL Server Express 达到 10GB 限制之前还剩下多少空间?
谢谢你!