使用Tasks-Generate Scripts生成脚本时,如何移除DateTime2的'T'前缀?
移除SQL Server脚本生成里DateTime2值的'T'分隔符
批量文本替换(最省事)
拿VS Code、Notepad++这类支持正则替换的编辑器打开生成的SQL脚本,开启正则替换模式:- 查找内容:
'(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}\.\d{7})' - 替换内容:
'$1 $2'
点击全部替换,就能把所有DateTime2字符串里的'T'换成空格。
- 查找内容:
调整脚本生成的高级选项
在「Generate Scripts」向导走到「Set Scripting Options」步骤时,点击「Advanced」按钮:
找到「Script Date Time as」选项,试试选择**「Regional」或者「ODBC Canonical」**格式(不同SQL Server版本的选项名称可能略有差异),部分版本下这个设置会直接生成空格分隔的日期时间格式。自动化处理(适合批量生成脚本的场景)
用PowerShell写个小脚本批量处理生成的SQL文件,示例代码:# 读取原始脚本文件,替换后输出到新文件 (Get-Content "你的脚本文件路径.sql") -replace "'(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}\.\d{7})'", "'`$1 `$2'" | Set-Content "修复后的脚本.sql"
补充:带'T'的格式是ISO 8601标准格式,SQL Server完全支持解析,但如果业务场景要求必须用空格分隔,上述方法均可满足需求。
内容的提问来源于stack exchange,提问作者Display name
相关产品推荐
相关产品推荐

