sql server中字符串类型的日期如何比较大小
sql server\u4e2d\u5b57\u7b26\u4e32\u7c7b\u578b\u7684\u65e5\u671f\u5982\u4f55\u6bd4\u8f83\u5927\u5c0f\u7b2c\u4e8c\u79cd\u65b9\u6cd5\u5219\u53ef\u4ee5\u5229\u7528sql\u63d0\u4f9b\u7684\u65e5\u671f\u8f6c\u6362\u51fd\u6570\u4e86\u3002CONVERT (<data_ type[ length ]\uff0c <expression [\uff0c style])1\uff09data_type\u4e3aSQL Server\u7cfb\u7edf\u5b9a\u4e49\u7684\u6570\u636e\u7c7b\u578b\uff0c\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6570\u636e\u7c7b\u578b\u4e0d\u80fd\u5728\u6b64\u4f7f\u7528\u30022\uff09length\u7528\u4e8e\u6307\u5b9a\u6570\u636e\u7684\u957f\u5ea6\uff0c\u7f3a\u7701\u503c\u4e3a30\u30023\uff09\u7528CONVERT\uff08\uff09 \u51fd\u6570\u7684style \u9009\u9879\u80fd\u4ee5\u4e0d\u540c\u7684\u683c\u5f0f\u663e\u793a\u65e5\u671f\u548c\u65f6\u95f4\u3002style \u662f\u5c06DATATIME \u548cSMALLDATETIME \u6570\u636e\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u65f6\u6240\u9009\u7528\u7684\u7531SQL Server \u7cfb\u7edf\u63d0\u4f9b\u7684\u8f6c\u6362\u6837\u5f0f\u7f16\u53f7\uff0c\u4e0d\u540c\u7684\u6837\u5f0f\u7f16\u53f7\u6709\u4e0d\u540c\u7684\u8f93\u51fa\u683c\u5f0f\u3002\u4e0a\u56fe\u4e2dGETDATE()\u51fd\u6570\u662f\u4ee5DATETIME \u7684\u7f3a\u7701\u683c\u5f0f\u8fd4\u56de\u7cfb\u7edf\u5f53\u524d\u7684\u65e5\u671f\u548c\u65f6\u95f4 \u3002\u5982\u679c\u7528\u8fd9\u79cd\u65b9\u6cd5\u6765\u5224\u65ad\u67d0\u4e00\u4e2a\u5b57\u6bb5\u7684\u8bdd\uff0c\u5219\u5b58\u5165\u7684\u65e5\u671f\u5b57\u6bb5\u7684\u5b57\u7b26\u4e32\u683c\u5f0f\u53ea\u8981\u662f\u80fd\u8ba9sql server\u5b8c\u6210\u5bf9\u65e5\u671f\u7684\u8f6c\u6362\u5c31\u53ef\u4ee5\u4e86\uff0c\u800c\u4e0d\u4e00\u5b9a\u8981\u50cf\u7b2c\u4e00\u79cd\u65b9\u6cd5\u4e2d\u7684\u90a3\u6837\u4e25\u683c\u3002\u8fd8\u662f\u8bf4adddate\u5b57\u6bb5\uff0c\u6bd4\u5982\u8981\u6bd4\u8f83\u5b83\u662f\u5426\u5927\u4e8e\u5f53\u524d\u7684\u65e5\u671f\uff0c\u5c31\u53ef\u4ee5\u8fd9\u6837\u5199\uff1a\u4e2a\u4eba\u8ba4\u4e3a\u7b2c\u4e8c\u79cd\u65b9\u6cd5\u66f4\u52a0\u4fdd\u9669\u4e00\u4e9b\u3002
\u7b2c\u4e8c\u79cd\u65b9\u6cd5\u5219\u53ef\u4ee5\u5229\u7528sql\u63d0\u4f9b\u7684\u65e5\u671f\u8f6c\u6362\u51fd\u6570\u4e86\u3002CONVERT (<data_ type[ length ]\uff0c <expression [\uff0c style])1\uff09data_type\u4e3aSQL Server\u7cfb\u7edf\u5b9a\u4e49\u7684\u6570\u636e\u7c7b\u578b\uff0c\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6570\u636e\u7c7b\u578b\u4e0d\u80fd\u5728\u6b64\u4f7f\u7528\u30022\uff09length\u7528\u4e8e\u6307\u5b9a\u6570\u636e\u7684\u957f\u5ea6\uff0c\u7f3a\u7701\u503c\u4e3a30\u30023\uff09\u7528CONVERT\uff08\uff09 \u51fd\u6570\u7684style \u9009\u9879\u80fd\u4ee5\u4e0d\u540c\u7684\u683c\u5f0f\u663e\u793a\u65e5\u671f\u548c\u65f6\u95f4\u3002
第二种方法则可以利用sql提供的日期转换函数了。 CONVERT (<data_ type[ length ], <expression [, style]) 1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。 2)length用于指定数据的长度,缺省值为30。 3)用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。 上图中GETDATE()函数是以DATETIME 的缺省格式返回系统当前的日期和时间 。 如果用这种方法来判断某一个字段的话,则存入的日期字段的字符串格式只要是能让sql server完成对日期的转换就可以了,而不一定要像第一种方法中的那样严格。 还是说adddate字段,比如要比较它是否大于当前的日期,就可以这样写: 个人认为第二种方法更加保险一些。扩展阅读:sql server 字符串替换 ... sql server免费版和收费版 ... sql server 字符串长度 ... sql server2019 ... sql server2008 ... sql server故障转移群集 ... sql server 日期转字符串 ... 怎么彻底删除sql server ... sql server截断字符串 ...