sql 时间格式为空, 则显示默认1900-01-01

  1. select cast(nullif('',''as datetime)  ,cast('' as datetime)isnull(cast(nullif('',''as datetime),getdate()) 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第 2 章 日期处理 23 2.1 日期类型概述 23 2.2 日期处理函数 25 2.2.1 日期增减函数 25 2.2.2 日期信息获取函数 26 2.2.3 日期差计算函数 27 2.2.4 其他日期处理相关函数 27 2.3 日期选项设置 29 2.3.1 default language选项 30 2.3.2 SET DATEFIRST 31 2.3.3 SET DATEFORMAT 31 2.3.4 SET LANGUAGE 33 2.4 日期格式化与日期推算处理 34 2.4.1 日期格式化处理 34 2.4.2 日期推算处理 35 2.4.3 日期加减处理 38 2.5 日期处理实例 40 2.5.1 生日处理 40 2.5.2 生成日期列表 42 2.5.3 工作日处理 46 2.5.4 工作时间计算 49 2.6 日期处理疑难解答 51 2.6.1 日期处理中常犯的错误 51 2.6.2 常见的低效率日期处理方法 52 2.6.3 日期与数字 53 第 3 章 字符处理 55 3.1 字符类型概述 55 3.2 字符串分拆 56 3.2.1 循环截取法 57 3.2.2 动态Transact-SQL语句法 57 3.2.3 辅助表法 59 3.2.4 分拆数据到列 61 3.2.5 分拆数字数据 62 3.2.6 分拆短信数据 63 3.3 字符串合并 64 3.3.1 游标合并法 65 3.3.2 SELECT语句合并法 66 3.3.3 临时表合并法 68 3.3.4 固定行合并法 69 3.4 其他字符串处理要求 70 3.4.1 分段截取 70 3.4.2 分段更新 72 3.4.3 IP地址处理 72 3.5 字符串分拆与合并处理应用实例 74 3.5.1 字符串比较 74 3.5.2 字符串交集/并集 75 3.5.3 分拆字符串并统计 78 3.5.4 借用字符串实现无规律排序 82 3.5.5 列车车次查询 82 3.6 字符串在动态Transact-SQL语句中的应用 85 3.6.1 动态Transact-SQL语句概述 85 3.6.2 字符串在编号查询中的使用 87 3.6.3 动态参数存储过程 90 3.6.4 动态Transact-SQL语句中常见问题 92 3.7 text与ntext字段处理 96 3.7.1 text与ntext数据的存储 96 3.7.2 管理text与ntext数据 97 3.7.3 text与ntext字段的复制和合并 99 3.7.4 text与image字段转换 101 3.7.5 ntext字段的REPLACE处理 103 第 4 章 排序规则 107 4.1 字符存储编码与排序规则 107 4.1.1 字符数据的存储编码 107 4.1.2 UNICODE 108 4.1.3 排序规则 109 4.1.4 排序规则比较和排列规则 111 4.1.5 使用排序规则 112 4.1.6 如何选择字符字段类型 116 4.2 排序规则应用 117 4.2.1 拼音处理 117 4.2.2 全角与半角字符处理 120 第 5 章 编号处理 123 5.1 自动编号 123 5.1.1 IDENTITY 123 5.1.2 ROWGUIDCOL 129 5.2 手工编号 131 5.2.1 查表法 131 5.2.2 独立编号表法 135 5.2.3 随机编号 139 5.3 缺号与补号 143 5.3.1 检查缺号 143 5.3.2 补号处理 143 5.3.3 编号重排 146 5.4 编号查询 150 5.4.1 已用编号分布查询 150 5.4.2 缺号分布查询 151 5.4.3 生成已用编号和缺号分布字符串 152 5.4.4 缺勤天数统计 155 第 6 章 数据统计与汇总 159 6.1 基本查询 159 6.1.1 (NULL)对查询的影响 159 6.1.2 联接 161 6.1.3 UNION与UNION ALL 165 6.1.4 数据填充查询 167 6.1.5 上限与下限区间统计 169 6.1.6 随机记录查询 170 6.2 分级汇总 173 6.2.1 实现分级汇总处理 173 6.2.2 分级汇总结果的过滤 176 6.2.3 分级汇总结果显示格式处理 177 6.2.4 分级汇总结果的排序处理 179 6.3 交叉数据报表 181 6.3.1 实现原理 181 6.3.2 多列转置 184 6.3.3 动态列 185 6.3.4 动态列中的字符溢出处理 188 6.3.5 特殊的交叉报表 191 6.4 典型数据统计案例 193 6.4.1 库存明细账查询 193 6.4.2 同期及上期数据对比 197 6.4.3 动态分组统计 199 6.4.4 销售排行榜 200 第 7 章 分页处理 205 7.1 应用程序中的分页处理 205 7.2 数据库中的分页处理 207 7.2.1 使用TOP N实现分页 207 7.2.2 使用字符串 211 7.2.3 使用临时表 213 7.2.4 使用SQL Server的系统存储过程处理分页 216 7.3 特殊要求的分页处理 217 7.3.1 随机显示的分页处理 217 7.3.2 分类数据的分页处理 221 第 8 章 树形数据处理 223 8.1 单编号处理法 223 8.1.1 方法概述 223 8.1.2 逐级汇总 225 8.1.3 编码重排 226 8.1.4 调整编码规则 229 8.1.5 调整编码隶属关系 233 8.2 双编号处理法 238 8.2.1 方法概述 239 8.2.2 树形数据排序 240 8.2.3 查找子节点 244 8.2.4 查找父节点 245 8.2.5 编码校验 246 8.2.6 节点复制 249 8.2.7 节点删除 251 8.2.8 逐级汇总 253 8.3 树形数据的扩展形式 256 8.3.1 产品配件清单 256 8.3.2 公交车乘车线路查询 258 第 9 章 数据导入与导出 261 9.1 访问外部数据 261 9.1.1 链接服务器 261 9.1.2 OPENROWSET与OPENDATASOURCE 268 9.1.3 外部数据访问方法总结 270 9.2 文本文件的导入与导出 274 9.2.1 查询文本文件内容 274 9.2.2 BCP与BULK INSERT 277 9.3 导入与导出中的常见问题 285 9.3.1 访问外部数据的注意事项 285 9.3.2 使用BCP或者BULK INSERT时的注意事项 286 9.3.3 外部数据文件位置及文件访问权限问题 287 9.4 在客户端实现SQL Server数据导入与导出处理 288 9.4.1 在Access数据库中实现与SQL Server之间的数据交换 288 9.4.2 实现客户端其他OLE DB数据源与SQL Server之间的数据交换 289 9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289 9.5 在数据库中存取文件 290 9.5.1 SQL Server中的文件存取方法 290 9.5.2 程序中的文件存取处理方法 292 第 10 章 作业 295 10.1 作业概述 295 10.1.1 定义作业 295 10.1.2 使用系统存储过程定义作业的常用模板 300 10.2 作业的应用 303 10.2.1 定时启用(或者停用)数据库 303 10.2.2 执行耗时的存储过程 304 10.2.3 秒级作业 305 10.3 使用作业的疑难解答 309 第 11 章 数据备份与还原 315 11.1 数据库备份与还原方法介绍 315 11.1.1 完全备份与还原 315 11.1.2 差异备份与还原 317 11.1.3 日志备份与还原 319 11.1.4 数据文件或文件组备份与还原 320 11.1.5 备份设备 321 11.1.6 数据库恢复模型对数据库备份和还原的影响 322 11.2 制订数据库备份方案 326 11.2.1 备份方案制订原则 326 11.2.2 建立数据备份方案 327 11.3 数据库备份与还原的实践应用 332 11.3.1 系统数据库的备份与还原 332 11.3.2 数据库迁移 336 11.3.3 部分数据库还原 339 11.3.4 抢救损坏数据库中的数据 341 11.3.5 将数据还原到指定时间点 343 11.3.6 将数据还原到指定标记点 345 11.3.7 同步备用服务器 346 11.4 数据备份与还原疑难解答 349 11.4.1 数据备份与还原中的常见问题 349 11.4.2 使用媒体集备份时的常见问题 354 11.4.3 数据库还原中的孤立用户问题 356 11.4.4 查询备份文件中的信息 360 第 12 章 用户定义数据类型 361 12.1 用户定义数据类型概述 361 12.1.1 创建和删除用户定义数据类型 361 12.1.2 为用户定义的数据类型绑定规则 365 12.1.3 为用户定义的数据类型绑定默认 370 12.2 修改用户定义数据类型 373 12.2.1 修改被表引用的用户定义数据类型 373 12.2.2 修改被存储过程引用的用户定义数据类型 379 第 13 章 数据库安全 383 13.1 SQL Server的存取构架 383 13.1.1 表格格式数据流(TDS) 383 13.1.2 Net-Library与网络协议 384 13.1.3 Net-Library加密 387 13.2 用户管理 388 13.2.1 身份验证模式 388 13.2.2 登录、用户、角色和组 390 13.2.3 管理用户 395 13.3 数据文件安全 403 13.4 SQL Server安全配置 405 13.4.1 安全配置建议 405 13.4.2 使用安全套接字层(SSL)加密 408 13.5 应用程序上的安全 417 13.5.1 防止SQL注入式攻击 417 13.5.2 限制应用程序访问 418 13.5.3 不安全的扩展存储过程 419 第 14 章 系统表应用实例 423 14.1 系统对象概述 423 14.1.1 每个数据库中都存在的系统表 424 14.1.2 仅在系统数据库中存在的系统表 424 14.1.3 系统表应用中三个重要的系统存储过程 426 14.2 系统表在对象信息检索中的应用 429 14.2.1 搜索指定的对象所处的数据库 429 14.2.2 获取存储过程参数定义 432 14.2.3 搜索指定字符在哪个表的哪个字段中 435 14.2.4 非UNICODE字段改为UNICODE字段的可行性查询 438 14.2.5 字段相关对象查询 439 14.2.6 生成数据库字典 443 14.3 系统对象在处理中的应用 444 14.3.1 批量处理数据库中的对象 444 14.3.2 将所有的char、varchar改为nchar、nvarchar 445 14.3.3 标识列与普通列的相互转换 447 14.3.4 把列添加指定位置 450 14.3.5 在两个SQL Server数据库之间复制对象 451 第 15 章 SQL Server应用疑难解答 455 15.1 访问SQL Server实例的常见问题 455 15.1.1 连接失败 455 15.1.2 用户登录失败 458 15.1.3 测试连接到SQL Server实例的方法总结 458 15.1.4 超时 459 15.1.5 单用户的问题 460 15.1.6 默认数据库问题 461 15.2 索引中的疑难解答 462 15.2.1 索引对查询条件的影响 462 15.2.2 索引对查询结果顺序的影响 465 15.2.3 索引对数据操作的影响 469 15.3 数据库日志疑难解答 470 15.3.1 影响日志文件增长的因素 471 15.3.2 从事务日志中删除日志记录 472 15.3.3 日志文件处理中的误区 472 15.3.4 合理解决日志文件增长 473 15.4 错误处理疑难解答 474 15.4.1 错误处理概述 474 15.4.2 错误处理严重程度 475 15.4.3 使用@@ERROR的疑难解答 476 15.4.4 XACT_ABORT与RAISERROR的疑难解答 477 15.5 游标处理疑难解答 479 15.5.1 全局游标与本地游标 479 15.5.2 检查指定的游标是否存在 480 15.5.3 事务提交或者回滚对游标的影响 482 15.5.4 可更新的游标 483 15.6 SQL Server处理中的其他疑难解答 484 15.6.1 并发工作负荷调控器 484 15.6.2 存储过程中的疑难解答 486 15.6.3 标识疑难解答 488 15.6.4 全文检索疑难解答 491 15.6.5 发布与订阅中的常见问题 494 15.6.6 其他疑难解答 496
X-Scan-v3.1 使用说明 一. 系统要求:Windows NT4/2000/XP/2003 二. 功能简介: 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等二十几个大类。对于多数已知漏洞,我们给出了相应的漏洞描述、解决方案及详细描述链接,其它漏洞资料正在进一步整理完善中,您也可以通过本站的“安全文摘”和“安全漏洞”栏目查阅相关说明。 3.0版本提供了简单的插件开发包,便于有编程基础的朋友自己编写或将其他调试通过的代码修改为X-Scan插件。另外Nessus攻击脚本的翻译工作已经开始,欢迎所有对网络安全感兴趣的朋友参与。需要“Nessus攻击脚本引擎”源代码、X-Scan插件SDK、示例插件源代码或愿意参与脚本翻译工作的朋友,可通过本站“X-Scan”项目链接获取详细资料:“http://www.xfocus.net/projects/X-Scan/index.html”。 三. 所需文件: xscan_gui.exe -- X-Scan图形界面主程序 xscan.exe -- X-Scan命令行主程序 checkhost.exe -- 插件调度主程序 update.exe -- 在线升级主程序 *.dll -- 主程序所需动态链接库 使用说明.txt -- X-Scan使用说明 /dat/language.ini -- 多语言配置文件,可通过设置“LANGUAGE\SELECTED”项进行语言切换 /dat/language.* -- 多语言数据文件 /dat/config.ini -- 用户配置文件,用于保存待检测端口列表、CGI漏洞检测的相关设置及所有字典文件名称(含相对路径) /dat/config.bak -- 备份配置文件,用于恢复原始设置 /dat/cgi.lst -- CGI漏洞列表 /dat/iis_code.ini -- IIS编码漏洞列表 /dat/port.ini -- 用于保存已知端口的对应服务名称 /dat/*_user.dic -- 用户名字典文件,用于检测弱口令用户 /dat/*_pass.dic -- 密码字典,用于检测弱口令用户 /dat/p0f*.fp -- 识别远程主机操作系统所需的操作系统特征码配置文件(被动识别) /dat/nmap-os-fingerprints -- 识别远程主机操作系统所需的操作系统特征码配置文件(主动识别) /dat/wry.dll -- “IP-地理位置”地址查询数据库文件 /dat/*.nsl -- 经过整理的NASL脚本列表 /plugins -- 用于存放所有插件(后缀名为.xpn) /scripts -- 用于存放所有NASL脚本(后缀名为.nasl) /scripts/desc -- 用于存放所有NASL脚本多语言描述(后缀名为.desc) 注:xscan_gui.exe与xscan.exe共用所有插件及数据文件,但二者之间没有任何依赖关系,均可独立运行。 四. 准备工作: X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动检查并安装WinPCap驱动程序)。 五. 图形界面设置项说明: “基本设置”页: “指定IP范围” - 可以输入独立IP地址或域名,也可输入以“-”和“,”分隔的IP范围,如“192.168.0.1-192.168.0.20,192.168.1.10-192.168.1.254”。 “从文件中获取主机列表” - 选中该复选框将从文件中读取待检测主机地址,文件格式应为纯文本,每一行可包含独立IP或域名,也可包含以“-”和“,”分隔的IP范围。 “报告文件” - 扫描结束后生成的报告文件名,保存在LOG目录下。 “报告文件类型” - 目前支持TXT和HTML两种格式 “扫描完成后自动生成并显示报告” - 如标题所述 “保存主机列表” - 选中该复选框后,扫描过程中检测到存活状态主机将自动记录到列表文件中。 “列表文件” - 用于保存主机列表的文件名,保存在LOG目录下。 “高级设置”页: “最大并发线程数量” - 扫描过程中最多可以启动的扫描线程数量 “最大并发主机数量” - 可以同时检测的主机数量。每扫描一个主机将启动一个CheckHost进程。 “显示详细进度” - 将在主界面普通信息栏中显示详细的扫描过程 “跳过没有响应的主机” - 如果X-Scan运行于NT4.0系统,只能通过ICMP Ping方式对目标主机进行检测,而在WIN2K以上版本的Windows系统下,若具备管理员权限则通过TCP Ping的方式进行存活性检测。 “跳过没有检测到开放端口的主机” - 若在用户指定的TCP端口范围内没有发现开放端口,将跳过对该主机的后续检测。 “无条件扫描” - 如标题所述 “端口相关设置”页: “待检测端口” - 输入以“-”和“,”分隔的TCP端口范围 “检测方式” - 目前支持TCP完全连接和SYN半开扫描两种方式 “根据响应识别服务” - 根据端口返回的信息智能判断该端口对应的服务 “主动识别操作系统类型” - 端口扫描结束后采用NMAP的方法由TCP/IP堆栈指纹识别目标操作系统 “预设知名服务端口” - 如标题所述 “SNMP相关设置”页: 全部如标题所述 “NETBIOS相关设置”页: 全部如标题所述 “NASL相关设置”页: “攻击脚本列表” - 由于目前Scripts目录中的脚本数量已近2000个,在批量扫描中可以通过定制脚本列表,只选取高风险级别漏洞进行检测,以加快扫描速度。若需要选择所有脚本,应将该输入框清。 “选择脚本” - 打开脚本选择窗口,通过风险级别、检测手段、漏洞类型等分类方式定制脚本列表 “脚本运行超时(秒)” - 设置一个脚本可运行的最长时间,超时后将被强行终止 “网络读取超时(秒)” - 设置TCP连接每次读取数据的最长时间,超时数据将被忽略 “跳过针对主机的破坏性脚本” - 如标题所述 “检测脚本间的依赖关系” - NASL脚本间相互是有关联的,比如一个脚本先获取服务的版本,另一个脚本再根据服务版本进行其他检测。如果打乱了脚本的执行顺序可能会影响扫描结果,但也由于脚本间不需要互相等待,会节省扫描时间。 “顺序执行针对服务的破坏性脚本” - 如果一个脚本正在尝试D.O.S某个服务,另一个脚本同时在获取该服务信息,或同时有其他脚本尝试溢出该服务,将导致扫描结果不正确。但如果脚本间不需要互相等待,将会节省扫描时间。 “网络设置”页: “网络适配器” - 选择适当的网络适配器以便WinPCap驱动过滤相应的数据报,否则可能会漏报由WinPCap驱动接收数据的NASL脚本检测结果,也会影响采用NMAP的方法识别目标操作系统的结果。对于拨号用户,应当选择“\Device\Packet_NdisWanIp”。 “CGI相关设置”页: “CGI编码方案” - 全部如标题所述 “字典文件设置”页: 设置各服务对应的密码字典文件 六. 命令行方式运行参数说明: 1.命令格式: xscan -host [-] [其他选项] xscan -file [其他选项] 其中 含义如下: -active : 检测目标主机是否存活 -os : 检测远程操作系统类型(通过NETBIOS和SNMP协议) -port : 检测常用服务的端口状态 -ftp : 检测FTP弱口令 -pub : 检测FTP服务匿名用户写权限 -pop3 : 检测POP3-Server弱口令 -smtp : 检测SMTP-Server漏洞 -sql : 检测SQL-Server弱口令 -smb : 检测NT-Server弱口令 -iis : 检测IIS编码/解码漏洞 -cgi : 检测CGI漏洞 -nasl : 加载Nessus攻击脚本 -all : 检测以上所有项目 [其他选项] 含义如下: -i : 设置网络适配器, 可通过"-l"参数获取 -l: 显示所有网络适配器 -v: 显示详细扫描进度 -p: 跳过没有响应的主机 -o: 跳过没有检测到开放端口的主机 -t : 指定最大并发线程数量和并发主机数量, 默认数量为100,10 -log : 指定扫描报告文件名, TXT或HTML后缀 * cgi及iis参数中“编码方案”含义: 1.用“HEAD”替换“GET” 2.用“POST”替换“GET” 3.用“GET / HTTP/1.0\r\nHeader:” 替换 “GET” 4.用“GET /[filename]?param=” 替换 “GET”(可通过\dat\config.ini文件的“CGI-ENCODE\encode4_index_file”项设置[filename]) 5.用“GET ” 替换 “GET” 6.多个“/”或“\” 7.“/”与“\”互换 8.用“”替换“” 注:各变形方案若不冲突则可以同时使用,如“-cgi 1,6,8”表示同时使用第1、6、8号方案对HTTP请求进行变形。 2.示例: xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -all -active -p 含义:检测xxx.xxx.1.1-xxx.xxx.255.255网段内主机的所有漏洞,跳过无响应的主机; xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -port -smb -t 150 -o 含义:检测xxx.xxx.1.1-xxx.xxx.255.255网段内主机的标准端口状态,NT弱口令用户,最大并发线程数量为150,跳过没有检测到开放端口的主机; xscan -file hostlist.txt -port -cgi -t 200,5 -v -o 含义:检测“hostlist.txt”文件中列出的所有主机的标准端口状态,CGI漏洞,最大并发线程数量为200,同一时刻最多检测5台主机,显示详细检测进度,跳过没有检测到开放端口的主机; 七. 常见问题解答: Q:如果没有安装WinPCap驱动程序是否能正常使用X-Scan进行扫描? A:如果系统未安装WinPCap驱动,X-Scan启动后会自动安装WinPCap 2.3;如果系统已经安装了WinPCap更高版本,X-Scan则使用已有版本。“WinPCap 3.1 beta”中存在BUG,可能导致X-Scan扫描进程异常,建议使用“WinPCap 2.3”。 Q:扫描一个子网,进程里同时出现10个checkhost.exe的进程是什么原因? A:检测每个主机都会单独起一个Checkhost.exe进程,检测完毕会自动退出。并发主机数量可以通过图形界面的设置窗口设定,命令行程序通过“-t”参数设定。 Q:扫描过程中机器突然蓝屏重启是什么原因? A:扫描过程中系统蓝屏是有可能的,AtGuard、天网等防火墙的驱动程序在处理特殊包的时候有可能出错导致系统崩溃,另外很多防火墙驱动与WinPCap驱动本身也存在冲突,建议先禁止或卸载防火墙程序再试试。 Q:操作系统识别不正确是什么原因? A:操作系统识别方面确实不能保证100%的准确率,目前是综合NMAP、P0F的指纹库、NETBIOS信息和SNMP信息进行识别,如果目标机器没有开放NETBIOS和SNMP协议,TCP/IP堆栈指纹也不在数据库中,就需要使用者根据其他信息综合分析了。 Q:为什么在一次扫描中我选择了“SYN”方式进行端口扫描,但X-Scan实际采用的是“TCP”方式,而且也没有被动识别出目标操作系统? A:端口扫描中的“SYN”方式和被动主机操作系统识别功能在NT4系统下无法使用,在windows 2000等系统下使用时必须拥有管理员权限,否则将自动改用“TCP”方式进行端口扫描。 Q:新版本是否兼容2.3版本的插件? A:X-Scan 3.0的插件接口做了少量修改,不兼容2.3以前版本的插件,需要原作者做相应修改。3.0版本提供了简单的开发库,插件开发方面要比2.3版本轻松许多。 Q:X-Scan 3.0中“跳过没有响应的主机”具体含义是什么? A:检测存活主机是由CheckActive插件完成的。如果X-Scan运行于NT4.0系统,只能通过ICMP Ping方式对目标主机进行检测,而在WIN2K以上版本的Windows系统下,若具备管理员权限则通过TCP Ping的方式进行存活性检测。 Q:我看到Scripts目录下有很多nessus的脚本,是否可以自己从nessus的网站上下载最新的plugin,然后解压到scripts目录中,实现扫描最新漏洞? A:X-Scan移植了nessus的nasl引擎,目前对应于nessus2.0.10a。所以只要是这个版本的nessus支持的脚本,都可以复制到Scripts目录下加载,但需要在配置界面里把“NASL相关设置”页的“攻击脚本列表”框清,或者通过“选择脚本”把新脚本加入列表。 Q:X-Scan中各项弱口令插件检测范围都很有限,能否自己加入其他需要检测的帐号或口令? A:在“X-Scan”中内置的密码字典仅为简单示范,使用者如果希望软件有更强的密码猜解能力,可以自己编辑密码字典文件。 Q:为什么nasl脚本扫描结果中存在大量英文,将来有没有可能会对这些英文信息进行汉化? A:目前已有将近2000个NASL脚本,里面的描述信息大都是英文,需要翻译的内容可以在本站“焦点项目”中的X-Scan下看到。欢迎大家一起帮忙翻译,通过审核后会直接加入在线升级库供大家下载。 Q:用xscan.exe在命令行方式下进行扫描时,如何暂停或终止扫描? A:命令行方式检测过程中,按“[格]”键可查看各线程状态及扫描进度,按“[回车]”可暂停或继续扫描,按“q”键可保存当前数据后提前退出程序,按“”强行关闭程序。 Q:位于dat目录下的wry.dll有什么用处? A:wry.dll是“追捕”软件的地址查询数据库,用于X-Scan中文版查询物理地址并且得到了作者许可。在此对“追捕”软件作者及所有为建立此数据库作出贡献的朋友表示感谢。由于没有考虑和将来“追捕”数据库的兼容问题,不能保证能正确使用以后版本的“追捕”数据库。在“追捕”数据库文件格式没有改变的情况下,可以将新版本的数据库文件“wry.dll”拷贝到dat目录下替换旧版本文件,但建议在覆盖前备份旧文件。 Q:X-Scan如何安装,是否需要注册? A:X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动安装WinPCap驱动)。 八. 版本发布: X-Scan v3.1 -- 发布日期:03/25/2004,修改“存活主机”插件,加入2.3版本中SNMP、NETBIOS插件,优化主程序及NASL库。 X-Scan v3.02 -- 发布日期:03/08/2004,“WinPCap 3.1 beta”中存在BUG,可能导致CheckHost.exe异常。X-Scan中改用“WinPCap 2.3”,建议卸载“WinPCap 3.1 beta”后再使用X-Scan进行扫描。 X-Scan v3.0 -- 发布日期:03/01/2004,修正beta版本中已知BUG,对主程序及所有插件进行优化,升级NASL库,支持2.0.10a版本以前的所有NASL脚本;提供简单的开发包方便其他朋友共同开发插件;其他插件正在开发中。 感谢悟休、quack帮忙精选nasl脚本列表,感谢san为支持X-Scan项目编写相关页面程序。再次感谢安全焦点论坛上所有提供优秀思路和协助测试的朋友们。 X-Scan v3.0(beta) -- 发布日期:12/30/2003,对主程序结构进行调整,加入移植的NASL插件,支持2.0.9版本以前的所有NASL脚本;对插件接口做少量修改,方便由其他朋友共同开发插件;对远程操作系统识别功能进行了加强,并去掉了一些可由脚本完成的插件。 感谢isno和Enfis提供优秀插件,感谢悟休、quack帮忙精选nasl脚本列表,也感谢其他提供优秀思路和协助测试的朋友。 X-Scan v2.3 -- 发布日期:09/29/2002,新增SSL插件,用于检测SSL漏洞;升级PORT、HTTP、IIS插件;升级图形界面并对界面风格作细微调整。 感谢ilsy提供优秀插件。 X-Scan v2.2 -- 发布日期:09/12/2002,修正PORT插件中线程同步BUG;修正RPC插件字符显示BUG;扩充RPC漏洞数据库;调整扫描结果索引文件风格。 感谢xundi、quack、stardust搜集并整理漏洞数据库。 X-Scan v2.1 -- 发布日期:09/08/2002,将SNMP插件扫描项目改为可选;将HTTP、IIS、RPC插件中的“漏洞描述”链接到xundi整理的漏洞数据库;修正2.0以前版本中已知BUG。 X-Scan v2.0 -- 发布日期:08/07/2002,新增路由信息检测、SNMP信息检测插件;升级NETBIOS插件,新增远程注册表信息检测;升级IIS插件,新增对IIS.ASP漏洞的检测;对插件接口做细微修改;更新图形界面,新增“在线升级”功能;扩充CGI漏洞数据库;修正1.3以前版本中已知BUG。 感谢quack、stardust、sinister、ilsy、santa、bingle、casper提供宝贵资料或优秀插件,感谢san、xundi、e4gle协助测试,也感谢所有来信反馈和提出建议的热心朋友。 X-Scan v1.3 -- 发布日期:12/11/2001,修正PORT插件中关于远程操作系统识别的BUG。 X-Scan v1.2 -- 发布日期:12/02/2001,升级HTTP、IIS插件,新增对HTTP重定向错误页面识别功能;升级PORT插件,在无法创建Raw Socket时改为使用标准TCP连接方式检测开放端口。 X-Scan v1.1 -- 发布日期:11/25/2001,将所有检测功能移入插件,使主程序完全成为“容器”;提供多语言支持;更新图形接口程序;修改多线程模式,所有插件共享最大线程数量,提高并发检测速度;新增SMTP、POP3弱口令用户检测;新增IIS UTF-Code漏洞检测;扩充CGI漏洞列表。 感谢xundi、quack、casper、wollf、黄承等朋友提供的宝贵资料,感谢echo、力立等朋友协助测试,再次向付出了重体力劳动的xundi和quack致谢,涕零..... X-Scan v1.0(beta) -- 发布日期:07/12/2001,新增对远程操作系统类型及版本识别功能;新增对远程主机地理位置查询功能;在“-iis”选项中,新增对IIS “.ida/.idq”漏洞的扫描,同时更新漏洞描述;在“-port”参数中,允许指定扫描的端口范围(通过修改“dat\config.ini”文件中的“[PORT-LIST]\port=”);在“-ntpass”参数中,允许用户在编辑密码字典时通过“%”通配所有用户名;更新CGI漏洞列表,并对CGI漏洞进行分类,以便根据远程主机系统类型扫描特定CGI漏洞,加快扫描速度。 感谢“天眼”软件作者--watercloud提供“被动识别远程操作系统”模块;感谢“追捕”软件作者--冯志宏提供“IP-地理位置”数据库;感谢quack提供漏洞资料、程序资料、无数有价的建议还有感情和...... X-Scanner v0.61 -- 发布日期:05/17/2001,在“-iis”选项中新增对IIS CGI文件名二次解码漏洞的检测。 X-Scanner v0.6 -- 发布日期:05/15/2001,新增“-iis”参数,专门用于扫描IIS服务器的“unicode”及“remote .printer overflow”漏洞;更新漏洞描述;调整CGI扫描的超时时间,尽量避免因超时导致的“扫描未完成”情况出现;为避免“RedV”插件被恶意利用,将自动更换主页功能改为自动向“C:\”目录上传包含警告信息的文本文件。 X-Scanner v0.5 -- 发布日期:04/30/2001,修改了命令行参数,使参数含义更加直观;扩充CGI漏洞数据库;对NT弱口令扫描功能进行扩充--允许用户使用用户名及密码字典;增加插件功能,并公布插件接口。 感谢“santa”和“老鬼(colossus)”提供插件。 X-Scanner v0.42b -- 发布日期:03/07/2001,修正了“-b”选项在特定情况导致系统overflow的BUG。 X-Scanner v0.42 -- 发布日期:03/02/2001,允许用户对SQL-SERVER帐户进行扩充,而不局限于扫描“sa”口令。 X-Scanner v0.41 -- 发布日期:02/19/2001,修正了以前版本中对FTP弱口令检测的BUG;重新优化代码,将xscan.exe与xscan98合二为一。 X-Scanner v0.4 -- 发布日期:02/15/2001,加入对SQL-SERVER默认“sa”帐户的扫描;在充分认识了某些人的惰性之后,临时制作了傻瓜式图形界面(一切操作按序号点击即可)。 X-Scanner v0.31 -- 发布日期:01/17/2001,对端口扫描方式和输出文件的格式做了细微调整;对Unicode解码漏洞进行了扩充;提供了for win98的版本和一个简单的CGI列表维护工具。 X-Scanner v0.3 -- 发布日期:12/27/2000,加入线程超时限制;增加代理功能;扩充CGI漏洞数据库,加入对Unicode解码等漏洞的检测及描述;修正内存泄露问题。内部测试版。 X-Scanner v0.2 -- 发布日期:12/12/2000,内部测试版。 九. 后序: X-Scan是一个完全免费软件,其中的漏洞资料和整体功能都存在严重不足,各项功能的测试受时间及环境所限也不够全面。只有靠朋友们积极提供相关资料,或提出自己的建议及想法,才能把X-Scan做得更好。欢迎大家来信或访问我们的站点参与交流。 感谢安全焦点和uid0小组全体成员、前DarkSun部分成员的鼎力支持,同时也因个人资质问题向大家致歉。 --glacier_at_xfocus_dot_org _____________________________________________________________________ 使用过程中如有问题、建议或发现错误请发邮件至:xscan_at_xfocus_dot_org 版权所有:安全焦点(http://www.xfocus.org)
X-scan 安全焦点出品的国内很优秀的扫描工具,采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式。 流光 国人的骄傲,由高级程序员小榕编写的一款强悍的扫描器。大家都知道。就不介绍了。 X-way 一款优秀功能多线程扫描工具。也都应该用过。不作介绍了。 Nmap 这个就厉害了,安全界人人皆知的非常有名气的一个扫描器!作者Fyodor. Domain 集WHOIS查询、上传页面批量检测、木马上传、数据库浏览及加密解密于一体. SuperScan 强大的TCP端口扫描器、Ping和域名解析器! Hscan 这是款运行在WinNT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! WIN2K自动攻击探测机 WinNT/2000自动攻击探测机。 4899口令探测 能够快速的扫描到被安装了radmin服务端4899端口的口令IP! SHED 一个用来扫描共享漏洞的机器的工具! Hscan 这是款运行在Win NT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! Blue's port scan 一款绿色的扫描软件,速度很快。 WebDAVScan 针对WEBDAV漏洞的扫描工具! X-scan - X-Scan的使用方法 这里使用x-scanner作为介绍对象,原因是x-scanner集成了多种扫描功能于一身,它可以采用多线程方式对指定IP地址段(或独立IP地址)进行安全漏洞扫描,提供了图形界面和命令行两种操作方式,扫描内容包括:标准端口状态及端口banner信息、CGI漏洞、RPC漏洞、SQL-SERVER默认帐户、FTP弱口令,NT主机共享信息、用户信息、组信息、NT主机弱口令用户等。扫描结果保存在/log/目录中,index_*.htm为扫描结果索引文件。对于一些已知的CGI和RPC漏洞,x-scanner给出了相应的漏洞描述、利用程序及解决方案,节省了查找漏洞介绍的时间。 首先x-scanner包括了两个运行程序:xscann.exe和xscan_gui.exe,这两个程序分别是扫描器的控制台版本和窗口版本,作为初学者可能更容易接受窗口版本的扫描软件,因为毕竟初学者使用最多的还是“应用程序”,无论运行那一个版本,他们的功能都是一样的。首先让我们运行窗口版本看看:窗口分为左右两部分,左面是进行扫描的类型,这包括前面提到的漏洞扫描、端口扫描等基本内容;另一部分是有关扫描范围的设定,xscanner可以支持对多个IP地址的扫描,也就是说使用者可以利用xscanner成批扫描多个IP地址,例如在IP地址范围内输入211.100.8.1-211.100.8.255就会扫描整个C类的255台服务器(如果存在的话),这样黑客可以针对某一个漏洞进行搜索,找到大范围内所有存在某个漏洞的服务器。当然如果只输入一个IP地址,扫描程序将针对单独IP进行扫描。 剩下的端口设定在前面已经介绍过,一般对于网站服务器,这个端口选取80或者8080,对于某些特殊的服务器也许还有特殊的端口号,那需要通过端口扫描进行寻找。多线程扫描是这个扫描器的一大特色,所谓多线程就是说同时在本地系统开辟多个socket连接,在同一时间内扫描多个服务器,这样做的好处是提高了扫描速度,节省时间,根据系统的资源配置高低,线程数字也可以自行设定(设定太高容易造成系统崩溃)。 在图形界面下我们看到了程序连接地址“.\xscan.exe”,这实际上就是xscanner的控制台程序,也就是说图形窗口只是将控制台扫描器的有关参数设置做了“傻瓜化”处理,程序运行真正执行的还是控制台程序。因此学习控制台是黑客所必需的,而且使用控制台模式的程序也是真正黑客喜爱的操作方式。 现在我们进行一个简单的cgi漏洞扫描,这次演练是在控制台模式下进行的:xscan 211.100.8.87 -port 这个命令的意思是让xscanner扫描服务器211.100.8.87的开放端口,扫描器不会对65535个端口全部进行扫描(太慢),它只会检测网络上最常用的几百个端口,而且每一个端口对应的网络服务在扫描器中都已经做过定义,从最后返回的结果很容易了解服务器运行了什么网络服务。扫描结果显示如下: Initialize dynamic library succeed. Scanning 211.100.8.87 ...... [211.100.8.87]: Scaning port state ... [211.100.8.87]: Port 21 is listening!!! [211.100.8.87]: Port 25 is listening!!! [211.100.8.87]: Port 53 is listening!!! [211.100.8.87]: Port 79 is listening!!! [211.100.8.87]: Port 80 is listening!!! [211.100.8.87]: Port 110 is listening!!! [211.100.8.87]: Port 3389 is listening!!! [211.100.8.87]: Port scan completed, found 7. [211.100.8.87]: All done. 这个结果还会同时在log目录下生成一个html文档,阅读文档可以了解发放的端口对应的服务项目。从结果中看到,这台服务器公开放了七个端口,主要有21端口用于文件传输、80端口用于网页浏览、还有110端口用于pop3电子邮件,如此一来,我们就可以进行有关服务的漏洞扫描了。(关于端口的详细解释会在后续给出) 然后可以使用浏览看看这个服务器到底是做什么的,通过浏览发现原来这是一家报社的电子版面,这样黑客可以继续对服务器进行漏洞扫描查找服务器上是否存在perl漏洞,之后进行进一步进攻。 漏洞扫描的道理和端口扫描基本上类似,例如我们可以通过扫描器查找61.135.50.1到61.135.50.255这255台服务器上所有开放了80端口的服务器上是否存在漏洞,并且找到存在什么漏洞,则可以使用xscan 61.135.50.1-61.135.50.255 -cgi进行扫描,因为结果比较多,通过控制台很难阅读,这个时候xscanner会在log下生成多个html的中文说明,进行阅读这些文档比较方便。 二、扫描器使用问题: 载使用漏洞扫描器的过程中,学习者可能会经常遇到一些问题,这里给出有关问题产生的原因和解决办法。扫描器的使用并不是真正黑客生涯的开始,但它是学习黑客的基础,所以学习者应该多加练习,熟练掌握手中使用的扫描器,了解扫描器的工作原理和问题的解决办法。 1、为什么我找不到扫描器报告的漏洞? 扫描器报告服务器上存在某个存在漏洞的文件,是发送一个GET请求并接收服务器返回值来判断文件是否存在,这个返回值在HTTP的协议中有详细的说明,一般情况下“200”是文件存在,而“404”是没有找到文件,所以造成上面现象的具体原因就暴露出来了。 造成这个问题的原因可能有两种:第一种可能性是您的扫描器版本比较低,扫描器本身存在“千年虫”问题,对于返回的信息扫描器在判断的时候,会错误的以为时间信息2000年x月x日中的200是“文件存在”标志,这样就会造成误报; 另外一种可能性是服务器本身对“文件不存在”返回的头部信息进行了更改,如果GET申请的文件不存在,服务器会自动指向一个“没有找到页面”的文档,所以无论文件是否存在,都不会将“404”返回,而是仍然返回成功信息,这样做是为了迷惑漏洞扫描器,让攻击者不能真正判断究竟那个漏洞存在于服务器上。 这一问题的解决办法也要分情况讨论,一般说来第一种情况比较容易解决,直接升级漏洞扫描器就可以了,对于第二种情况需要使用者对网络比较熟悉,有能力的话可以自己编写一个漏洞扫描器,自己编写的扫描器可以针对返回文件的大小进行判断,这样就可以真正确定文件是否存在,但这种方法对使用者的能力要求较高。 2、我使用的扫描器速度和网络速度有关系嘛? 关系不大。扫描器发送和接收的信息都很小,就算是同时发送上百个GET请求一般的电话上网用户也完全可以做得到,影响扫描器速度的主要因素是服务器的应答速度,这取决于被扫描服务器的系统运行速度。如果使用者希望提高自己的扫描速度,可以使用支持多线程的扫描器,但是因为使用者本地电脑档次问题,也不可能将线程设置到上百个,那样的话会造成本地系统瘫痪,一般使用30个线程左右比较合适。 另外对于很多网络服务器来说,为了防止黑客的扫描行为,可能会在防火墙上设置同一IP的单位时间GET申请数量,这样做目的就是避免黑客的扫描和攻击,所以在提高本地扫描速度之前,应该先确认服务器没有相应的过滤功能之后再使用。 3、扫描器报告给我的漏洞无法利用是什么原因? 确切地说扫描器报告的不是“找到的漏洞”,而是找到了一个可能存在漏洞的文件,各种网络应用程序都可能存在漏洞,但是在更新版本的过程中,老版本的漏洞会被修补上,被扫描器找到的文件应该经过手工操作确认其是否是存在漏洞的版本,这可以通过阅读网络安全网站的“安全公告”获得相应知识。 对于已经修补上漏洞的文件来说,也不代表它一定不再存有漏洞,而只能说在一定程度上没有漏洞了,也许在明天,这个新版本的文件中又会被发现还存在其他漏洞,因此这需要网络安全爱好者时刻关注安全公告。当然如果攻击者或者网络管理员对编程比较熟悉,也可以自己阅读程序并力图自己找到可能的安全隐患,很多世界著名的黑客都是不依靠他人,而是自己寻找漏洞进行攻击的。 4、扫描器版本比较新,然而却从来没有找到过漏洞是什么原因? 有一些扫描器专门设计了“等待时间”,经过设置可以对等待返回信息的时间进行调整,这就是说在“网络连接超时”的情况下,扫描器不会傻傻的一直等待下去。但如果你的网络速度比较慢,有可能造成扫描器没有来得及接收返回信息就被认为“超时”而越了过去继续下面的扫描,这样当然是什么也找不到啦。 如果问题真的如此,可以将等待时间设置的长一些,或者换个ISP拨号连接。 5、扫描器报告服务器没有提供HTTP服务? 网络上大多数HTTP服务器和漏洞扫描器的默认端口都是80,而有少量的HTTP服务器并不是使用80端口提供服务的,在确认服务器的确开通了网站服务的情况下,可以用端口扫描器察看一下对方究竟使用什么端口进行的HTTP服务,网络上常见的端口还有8080和81。 另外这种情况还有一种可能性,也许是使用者对扫描器的参数设置不正确造成的,很多扫描器的功能不仅仅是漏洞扫描,有可能还提供了rpc扫描、ftp默认口令扫描和NT弱口令扫描等多种功能,因此在使用每一款扫描器之前,都应该自己阅读有关的帮助说明,确保问题不是出在自己身上。 6、扫描器使用过程中突然停止响应是为什么? 扫描器停止响应是很正常的,有可能是因为使用者连接的线程过多,本地系统资源不足而造成系统瘫痪、也可能是因为对方服务器的响应比较慢,依次发送出去的请求被同时反送回来而造成信息阻塞、还有可能是服务器安装了比较恶毒的防火墙,一旦察觉有人扫描就发送特殊的数据报回来造成系统瘫痪…… 因此扫描器停止响应不能简单的说是为什么,也没有一个比较全面的解决方案,不过一般情况下遇到这种问题,我建议你可以更换其他扫描器、扫描另外一些服务器试试,如果问题还没有解决,就可能是因为扫描器与你所使用的系统不兼容造成的,大多数基于微软视窗的漏洞扫描器都是运行在Windows9X下的,如果是Win2000或者NT也有可能造成扫描器无法正常工作。 7、下载回来的扫描器里面怎么没有可执行文件? 扫描器不一定非要是可执行的exe文件,其他例如perl、CGI脚本语言也可以编写扫描器,因此没有可执行文件的扫描器也许是运行在网络服务器上的,这种扫描器可以被植入到网络上的其它系统中,不需要使用者上网就能够24小时不停的进行大面积地址扫描,并将结果整理、分析,最后通过Email发送到指定的电子信箱中,因此这是一种比较高级的扫描器,初学者不适合使用。 另外注意载下在扫描器的时候注意压缩报文件的扩展名,如果是tar为扩展名,那么这个扫描器是运行在Linux系统下的,这种其它操作平台的扫描器无法在视窗平台下应用,文件格式也和FAT32不一样。 8、扫描器只报告漏洞名称,不报告具体文件怎么办? 只要漏洞被发现,网络安全组织即会为漏洞命名,因此漏洞名称对应的文件在相当广泛的范围内都是统一的,只要知道了漏洞的名称,黑客就可以通过专门的漏洞搜索引擎进行查找,并且学习到与找到漏洞相关的详细信息。这种“漏洞搜索引擎”在网络上非常多,例如我国“绿盟”提供的全中文漏洞搜索引擎就是比较理想的一个。
此次马克斯CMS2.0全新架构,速度性能都有极大提升 压缩里的标签文档为开发版文档,详细使用标签文档迟些会整理发出。 安装时默认是选的 站外 ,即不能连播,如果需要连播或是自动播放,请自己选站内。 请在IIS下调试,动态版请指定默认文档为index.asp,动态版是有缓存的,请修改过数据或是模板后在后台清除缓存然后前台看效果。 程序更新历史记录: 2009.06.14**11:51土豆播放器失效修正,/js/play.swf 2009.05.20**18:06增加标签[videolist:playlink],[channellist:playlink],{playpage:nolinkactor};内容也播放页以下标签增加长度控制{playpage:des}{playpage:nolinkactor} {playpage:name};修正后台自定义快捷菜单容错性;更新/admin/admin_makehtml.asp,/admin/admin_selfmenu.asp,/inc/mainclass.asp,commonfun.asp,/content/index.asp,/play/index.asp 2009.05.15**11:51修改sqlserver版的makeDatabase.asp,建库时插入后台账号信息、便于登陆后台 2009.05.14**2:30发布sqlserver完整包 2009.05.12**22:10改进评论显示,剥离留言本样式与模板的关联,去除部分弹出层改为js的alert、便于用户操作,修正部分服务器上存在的google地图生成错误,更新文件gbook.asp,comment.asp,/js/function.js,/admin/admin_makehtml.asp 2009.05.07**13:31更新GVOD联播及缓冲下集、新浪高清播放器 2009.05.04**18:19更新2009新版资源库**台稳定版 2009.03.27**23:50改进程序易用性,修复图片采集bug,影片介绍为空生成错误解决,新浪高清更换播放器,改进后台添加下载地址等(因此次无必须功能升级,故未在后台更新提示) 2009.03.23**18:13增加影片seo关键字标签{playpage:note},更新文件/inc/CommonFun.asp,/inc/MainClass.asp,/play/index.asp,/content/index.asp,/admin/admin_makehtml.asp 2009.03.20**23:49增加远古高清和ku6的支持,更新文件/js/webplayer2008.html,/js/play.swf,/inc/playerKinds.xml,/admin/images/main.js 2009.03.20凌晨01:15更新自定义播放页是否生成 2009.03.17增加影片某一集名称标签{playpage:part},更新文件/play/index.asp 2009.03.17播放器支持gvod, 更新文件/js/play.swf , /js/gvod.html , /inc/playerKinds.xml , /admin/images/main.js , /admin/images/version.xml 2009.03.16修正新浪专辑采集问题,以及后台采集资源后时间更新问题,修改文件/admin/admin_resourcelib.asp,admin_webgather.asp 2009.03.07修正qvod播放器问题,修改了/js/play.swf,/js/play.js文件解决在IFRAME下播放问题
### 回答1: 在 SQL Server 中,可以使用 CONVERT 函数来格式化日期。下面是一个例子: ``` SELECT CONVERT(NVARCHAR(10), GETDATE(), 120) AS FormattedDate; ``` 这个语句将当前日期转换为字符串,并使用格式代码 `120` 设置为 `yyyy-mm-dd` 格式。 结果: ``` FormattedDate -------------- 2023-02-10 ``` ### 回答2: 要在SQL Server中格式化时间为yyyy-mm-dd,可以使用CONVERT函数。该函数允许将日期和时间从一种格式转换为另一种格式。 以下是一个简单的示例,展示如何使用CONVERT函数将时间格式化为yyyy-mm-dd: ``` SELECT CONVERT(VARCHAR(10), GETDATE(), 23) AS FormattedDate ``` 在上面的例子中,GETDATE()函数返回了当前的日期和时间。然后,我们使用CONVERT函数将其转换为格式为yyyy-mm-dd的字符串。第二个参数是指定目标格式的表示符号,这里使用了23来表示yyyy-mm-dd。 运行以上查询,将会得到一个名为FormattedDate的列,其中包含格式化后的时间。 请注意,CONVERT函数的第一个参数是要转换的,第二个参数是表示所需格式的表示符号,第三个参数是可选参数,可以用来指定不同的语言环境。在上面的示例中,我们没有指定第三个参数,默认使用了数据库的默认语言环境。 希望这个解答对你有帮助! ### 回答3: 在SQL Server中,可以使用CONVERT函数来格式化时间。要格式化为yyyy-mm-dd格式,可以使用以下方法: ```sql SELECT CONVERT(VARCHAR(10), GETDATE(), 120) AS FormattedDate; ``` 在上面的示例中,GETDATE()函数返回当前日期和时间,CONVERT函数将这个日期和时间转换为VARCHAR类型,并使用120作为格式码。格式码120代表yyyy-mm-dd HH:mi:ss格式,所以我们只需要选择前10个字符,即可得到yyyy-mm-dd格式的日期。 如果希望格式化其他日期字段,只需将GETDATE()替换为相应的日期字段名即可。 例如,如果要格式化名为"OrderDate"的字段: ```sql SELECT CONVERT(VARCHAR(10), OrderDate, 120) AS FormattedDate FROM Orders; ``` 上面的示例返回一个名为"FormattedDate"的字段,其中包含了"OrderDate"字段以yyyy-mm-dd格式的日期。 希望以上回答对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值