c#数据库SQL语句—replace使用
我的列名有“编号”“备注”,表名为Sheet1. 如下想替换备注中所有的“哈哈”字符为“哈哈谢谢”。提示
“表达式中 'REPLACE' 函数未定义。”
代码如下:
- C# code
string sql = "SELECT 备注,REPLACE([备注],'哈哈','哈哈谢谢')AS 新备注 FROM Sheet1"; DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(sql, mycon); da.Fill(ds, "Sheet1"); this.dataGridView1.DataSource = ds.Tables[0];
[解决办法]
Update tableName SET columeName = REPLACE(columeName, 'a', 'b')
[解决办法]
Replace是SQL Server数据库中的函数
Jet.OLEDB.4.0 Access数据库中不支持Replace函数的
[解决办法]
我试了没问题啊,你数据库是哪个版本
- C# code
declare @tab table( [备注] NVARCHAR(30))insert into @tabselect 'abc哈哈fghi哈哈3rw'SELECT [备注],REPLACE([备注],'哈哈','哈哈谢谢') AS 新备注 from @tab/*备注 新备注------------------------------ --------------------------------abc哈哈fghi哈哈3rw abc哈哈谢谢fghi哈哈谢谢3rw(1 行受影响)*/
[解决办法]
你这样试试看
- C# code
string sql = "SELECT 备注,left([备注], instr([备注], '哈哈')) + '哈哈谢谢'+ right([备注], len([备注]) - instr([备注], '哈哈') - len('哈哈')) AS 新备注 FROM Sheet1";DataSet ds = new DataSet();OleDbDataAdapter da = new OleDbDataAdapter(sql, mycon);da.Fill(ds, "Sheet1");this.dataGridView1.DataSource = ds.Tables[0];